PHP में डिलीमीटर का एस्केपिंग

यदि कोई वर्ण विशेष नहीं है, तो, जब आप इसे डिलीमीटर के रूप में उपयोग करते हैं, तो आपको इसे रेगुलर एक्सप्रेशन के अंदर एस्केप करना होगा। आइए एक उदाहरण से देखते हैं।

मान लीजिए कि हमारे डिलीमीटर हाश साइन हैं, और रेगुलर एक्सप्रेशन के अंदर हम एम्परसैंड वर्ण खोज रहे हैं। चूंकि एम्परसैंड एक विशेष वर्ण नहीं है, इसलिए हम इसे एस्केप नहीं करते:

php<?php
  echo preg_replace('#a&b#', '!', 'a&b'); // आउटपुट '!' देगा
?>

अब मान लीजिए कि डिलीमीटर एम्परसैंड हैं और रेगुलर एक्सप्रेशन के अंदर हमें एक एम्परसैंड की भी आवश्यकता है। ऐसे मामले में अंदर के एम्परसैंड को एस्केप करना पड़ता है, अन्यथा यह PHP एरर का कारण बनेगा:

php<?php
  echo preg_replace('&a\&b&', '!', 'a&b'); // आउटपुट '!' देगा
?>
Задание 1

निम्नलिखित कोड में की गई त्रुटि को सही करें:

php<?php
  echo preg_replace('#a#b#', '!', 'a#b');
?>