फ़ंक्शन preg_match

फ़ंक्शन preg_match एक स्ट्रिंग में रेगुलर एक्सप्रेशन के साथ मिलान खोजता है। पहला पैरामीटर रेगुलर एक्सप्रेशन पैटर्न लेता है, दूसरा - खोज के लिए स्ट्रिंग, तीसरा (वैकल्पिक) - पाए गए मिलानों को सहेजने के लिए ऐरे, चौथा (वैकल्पिक) - फ्लैग्स, पाँचवाँ (वैकल्पिक) - खोज शुरू करने का ऑफ़सेट।

सिंटैक्स

phppreg_match(pattern, subject, [matches], [flags], [offset]);

फ्लैग्स

फ्लैग कॉन्स्टेंट विवरण
PREG_PATTERN_ORDER 1 परिणाम पैटर्न के अनुसार क्रमबद्ध होते हैं (डिफ़ॉल्ट)
PREG_SET_ORDER 2 परिणाम मिलान सेट के अनुसार क्रमबद्ध होते हैं
PREG_OFFSET_CAPTURE 256 स्ट्रिंग में मिलान की स्थिति लौटाता है
PREG_UNMATCHED_AS_NULL 512 बिना मिले सबपैटर्न NULL के रूप में लौटाए जाते हैं

उदाहरण

आइए जाँच करें कि क्या स्ट्रिंग में अंक हैं:

php<?php
  $res = preg_match('/\d+/', 'abc123');
  echo $res;
?>

कोड निष्पादन का परिणाम:

php1

उदाहरण

आइए स्ट्रिंग से सभी अंकों को एक ऐरे में निकालें:

php<?php
  preg_match('/\d+/', 'abc123', $matches);
  var_dump($matches);
?>

कोड निष्पादन का परिणाम:

php[0 => '123']

उदाहरण

रेगुलर एक्सप्रेशन में नामित समूहों का उपयोग:

php<?php
  preg_match('/(?P<name>\w+)\s+(?P<age>\d+)/', 'John 25', $matches);
  var_dump($matches);
?>

कोड निष्पादन का परिणाम:

php[
  0 => 'John 25',
  'name' => 'John',
  1 => 'John',
  'age' => '25',
  2 => '25'
]

उदाहरण

मिलान की स्थिति प्राप्त करने के लिए PREG_OFFSET_CAPTURE फ्लैग का उपयोग:

php<?php
  preg_match('/\d+/', 'abc123', $matches, PREG_OFFSET_CAPTURE);
  var_dump($matches);
?>

कोड निष्पादन का परिणाम:

php[
  0 => [
    0 => '123',
    1 => 3
  ]
]

उदाहरण

ऑफ़सेट (offset) निर्दिष्ट करके खोज:

php<?php
  preg_match('/\d+/', '123abc456', $matches, 0, 3);
  var_dump($matches);
?>

कोड निष्पादन का परिणाम:

php[0 => '456']

उदाहरण

ईमेल पते की वैधता की जाँच:

php<?php
  $email = 'test@example.com';
  $res = preg_match('/^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/', $email);
  echo $res ? 'Valid' : 'Invalid';
?>

कोड निष्पादन का परिणाम:

php'Valid'

यह भी देखें

  • फ़ंक्शन preg_match_all,
    जो स्ट्रिंग में सभी मिलानों को खोजता है
  • फ़ंक्शन preg_replace,
    जो रेगुलर एक्सप्रेशन के आधार पर प्रतिस्थापन करता है