PHP में रेगुलर एक्सप्रेशन का परिचय

रेगुलर एक्सप्रेशन जटिल खोज और प्रतिस्थापन के लिए कमांड होते हैं। वे बहुत ही रोचक काम करने की अनुमति देते हैं, लेकिन दुर्भाग्य से, सीखने में काफी कठिन होते हैं।

रेगुलर एक्सप्रेशन के साथ काम करने के लिए PHP के कई फ़ंक्शन मौजूद हैं। हम उनसे preg_replace के उदाहरण से परिचित होंगे। यह फ़ंक्शन पहले पैरामीटर के रूप में क्या बदलना है स्वीकार करता है, और दूसरे पैरामीटर के रूप में - किससे बदलना है, और तीसरे पैरामीटर के रूप में - वह स्ट्रिंग जिसमें प्रतिस्थापन करना है:

php<?php
  preg_replace(क्या बदलना है, किससे बदलना है, स्ट्रिंग);
?>

इस स्थिति में हमारा फ़ंक्शन पहले पैरामीटर के रूप में सिर्फ एक स्ट्रिंग नहीं, बल्कि एक रेगुलर एक्सप्रेशन स्वीकार करता है, जो हैश सिंबल # के अंदर स्थित कमांड्स के सेट वाली एक स्ट्रिंग है। इन हैशों को रेगुलर एक्सप्रेशन का डिलिमिटर कहा जाता है।

डिलिमिटर के बाद मॉडिफायर लिखे जा सकते हैं - ऐसी कमांड्स जो रेगुलर एक्सप्रेशन के सामान्य गुणों को बदलती हैं।

स्वयं रेगुलर एक्सप्रेशन दो प्रकार के करैक्टर से बने होते हैं: उनसे जो स्वयं को दर्शाते हैं और उन कमांड करैक्टर से जिन्हें विशेष करैक्टर कहा जाता है।

अक्षर और अंक स्वयं को दर्शाते हैं। निम्नलिखित उदाहरण में हम रेगुलर एक्सप्रेशन की सहायता से अक्षर 'a' को '!' से बदलेंगे:

php<?php
  preg_replace('#a#', '!', 'bab'); // 'b!b' लौटाएगा
?>

लेकिन डॉट एक विशेष करैक्टर है और कोई भी करैक्टर दर्शाता है। निम्नलिखित उदाहरण में हम इस पैटर्न के अनुसार स्ट्रिंग ढूंढेंगे: अक्षर 'x', फिर कोई भी करैक्टर, फिर दोबारा अक्षर 'x':

php<?php
  preg_replace('#x.x#', '!', 'xax eee'); // '! eee' लौटाएगा
?>
Задание 1

एक स्ट्रिंग दी गई है:

php<?php
  $str = 'ahb acb aeb aeeb adcb axeb';
?>

एक रेगुलर एक्सप्रेशन लिखें, जो स्ट्रिंग्स 'ahb', 'acb', 'aeb' को इस पैटर्न के अनुसार ढूंढे: अक्षर 'a', कोई भी करैक्टर, अक्षर 'b'।

Задание 2

एक स्ट्रिंग दी गई है:

php<?php
  $str = 'ahb acb aeb aeeb adcb axeb';
?>

एक रेगुलर एक्सप्रेशन लिखें, जो स्ट्रिंग्स 'aeeb', 'adcb', 'axeb' को इस पैटर्न के अनुसार ढूंढे: अक्षर 'a', कोई भी दो करैक्टर, अक्षर 'b'।