PHP रेगुलर एक्सप्रेशन में स्क्वायर ब्रैकेट के अंदर केरट (^) सिंबल
जैसा कि आप जानते हैं, [] के अंदर शुरुआत में लिखा गया केरट (^)
निगेशन (negation) करता है।
इसका मतलब है, यह इन ब्रैकेट के अंदर एक विशेष प्रतीक (special character) है। केरट (^) को एक साधारण प्रतीक के रूप में प्राप्त करने के लिए,
या तो इसे एस्केप (escape) करना होगा, या इसे पहले स्थान से हटाना होगा।
उदाहरण
निम्नलिखित उदाहरण में सर्च पैटर्न इस प्रकार है:
पहला कैरेक्टर 'd' को छोड़कर कुछ भी है,
उसके बाद दो 'x' अक्षर।
<?php
$str = 'axx bxx ^xx dxx';
$res = preg_replace('#[^d]xx#', '!', $str);
?>
नतीजे में वेरिएबल में निम्नलिखित लिखा जाएगा:
'! ! ! dxx'
उदाहरण
और अब सर्च पैटर्न इस प्रकार है: पहला कैरेक्टर
'd' या '^' है, उसके बाद दो
'x' अक्षर:
<?php
$str = 'axx bxx ^xx dxx';
$res = preg_replace('#[d^]xx#', '!', $str);
?>
नतीजे में वेरिएबल में निम्नलिखित लिखा जाएगा:
'axx bxx ! !'
उदाहरण
केरट (^) को पहले स्थान से हटाने की जरूरत नहीं है, बल्कि बैकस्लैश का उपयोग करके इसे एस्केप (escape) किया जा सकता है, और तब यह स्वयं को दर्शाएगा:
<?php
$str = 'axx bxx ^xx dxx';
$res = preg_replace('#[\^d]xx#', '!', $str);
?>
नतीजे में वेरिएबल में निम्नलिखित लिखा जाएगा:
'axx bxx ! !'
प्रैक्टिकल टास्क्स
एक स्ट्रिंग दी गई है:
<?php
$str = '^xx axx ^zz bkk @ss';
?>
एक रेगुलर एक्सप्रेशन लिखें, जो स्ट्रिंग्स को इस पैटर्न के अनुसार ढूंढे: केरट (^) या एट सिंबल (@), और उसके बाद दो लैटिन अक्षर।
एक स्ट्रिंग दी गई है:
<?php
$str = '^xx axx ^zz bkk @ss';
?>
एक रेगुलर एक्सप्रेशन लिखें, जो स्ट्रिंग्स को इस पैटर्न के अनुसार ढूंढे: केरट (^) या एट सिंबल (@) नहीं, और उसके बाद दो लैटिन अक्षर।
एक स्ट्रिंग दी गई है:
<?php
$str = '^xx axx ^zz bkk';
?>
एक रेगुलर एक्सप्रेशन लिखें, जो स्ट्रिंग्स को इस पैटर्न के अनुसार ढूंढे: केरट (^) नहीं, और उसके बाद दो लैटिन अक्षर।