फ़ंक्शन preg_match
फ़ंक्शन preg_match एक स्ट्रिंग में रेगुलर एक्सप्रेशन के साथ मिलान खोजता है। पहला पैरामीटर रेगुलर एक्सप्रेशन पैटर्न लेता है, दूसरा - खोज के लिए स्ट्रिंग, तीसरा (वैकल्पिक) - पाए गए मिलानों को सहेजने के लिए ऐरे, चौथा (वैकल्पिक) - फ्लैग्स, पाँचवाँ (वैकल्पिक) - खोज शुरू करने का ऑफ़सेट।
सिंटैक्स
preg_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
$res = preg_match('/\d+/', 'abc123');
echo $res;
?>
कोड निष्पादन का परिणाम:
1
उदाहरण
आइए स्ट्रिंग से सभी अंकों को एक ऐरे में निकालें:
<?php
preg_match('/\d+/', 'abc123', $matches);
var_dump($matches);
?>
कोड निष्पादन का परिणाम:
[0 => '123']
उदाहरण
रेगुलर एक्सप्रेशन में नामित समूहों का उपयोग:
<?php
preg_match('/(?P<name>\w+)\s+(?P<age>\d+)/', 'John 25', $matches);
var_dump($matches);
?>
कोड निष्पादन का परिणाम:
[
0 => 'John 25',
'name' => 'John',
1 => 'John',
'age' => '25',
2 => '25'
]
उदाहरण
मिलान की स्थिति प्राप्त करने के लिए PREG_OFFSET_CAPTURE फ्लैग का उपयोग:
<?php
preg_match('/\d+/', 'abc123', $matches, PREG_OFFSET_CAPTURE);
var_dump($matches);
?>
कोड निष्पादन का परिणाम:
[
0 => [
0 => '123',
1 => 3
]
]
उदाहरण
ऑफ़सेट (offset) निर्दिष्ट करके खोज:
<?php
preg_match('/\d+/', '123abc456', $matches, 0, 3);
var_dump($matches);
?>
कोड निष्पादन का परिणाम:
[0 => '456']
उदाहरण
ईमेल पते की वैधता की जाँच:
<?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';
?>
कोड निष्पादन का परिणाम:
'Valid'
यह भी देखें
-
फ़ंक्शन
preg_match_all,
जो स्ट्रिंग में सभी मिलानों को खोजता है -
फ़ंक्शन
preg_replace,
जो रेगुलर एक्सप्रेशन के आधार पर प्रतिस्थापन करता है