PHP में बैकस्लैश समस्या
बैकस्लैश PHP का एक विशेष वर्ण है। इसका मतलब है कि एक स्ट्रिंग में, यदि हम चाहते हैं कि स्लैश स्वयं को दर्शाए, तो हमें इसे दोगुना करना चाहिए:
<?php
$str = '\\ \\\\ \\\\\\'; // वास्तव में स्ट्रिंग है '\ \\ \\\'
?>
बैकस्लैश रेगुलर एक्सप्रेशन का भी एक विशेष वर्ण है। इसका मतलब है कि रेगुलर एक्सप्रेशन के अंदर, स्लैश को स्वयं को दर्शाने के लिए, इसे चार बार लिखने की आवश्यकता होती है:
<?php
echo preg_replace('#\\\\#', '!', '\\ \\\\ \\\\\\'); // आउटपुट देगा '! ! !!'
?>
आइए अब एक रेगुलर एक्सप्रेशन लिखते हैं, जिसमें
खोज पैटर्न इस प्रकार हो: बैकस्लैश
एक या अधिक बार। ऐसे मामले में हम
ऑपरेटर + को 4
वर्णों के लिए ग्रुपिंग के बिना उसके सामने लिखेंगे:
<?php
echo preg_replace('#\\\\+#', '!', '\\ \\\\ \\\\\\'); // आउटपुट देगा '! ! !'
?>
एक स्ट्रिंग दी गई है:
<?php
$str = 'a\\b c\\d e\\f';
?>
इस स्ट्रिंग में अक्षर, बैकस्लैश, अक्षर पैटर्न के अनुसार सभी उपस्ट्रिंग ढूंढें।
एक स्ट्रिंग दी गई है:
<?php
$str = 'a\\b c\\\\d e\\\\\\f';
?>
इस स्ट्रिंग में अक्षर, बैकस्लैश कोई भी संख्या में, अक्षर पैटर्न के अनुसार सभी उपस्ट्रिंग ढूंढें।