रेगुलर एक्सप्रेशंस में रिपीट ऑपरेटर्स

ऐसी स्थितियाँ होती हैं जब हम यह निर्दिष्ट करना चाहते हैं कि एक कैरेक्टर एक निश्चित संख्या में दोहराया जाता है। यदि हम दोहराव की सटीक संख्या जानते हैं, तो हम बस इसे कई बार लिख सकते हैं - #aaaa#। लेकिन अगर हम यह कहना चाहते हैं: एक या अधिक बार दोहराएं तो क्या करें?

इसके लिए (क्वांटिफायर्स) दोहराव ऑपरेटर्स मौजूद हैं: प्लस + (एक या अधिक बार), तारांकन * (शून्य या अधिक बार) और प्रश्न चिह्न ? (शून्य या एक बार)। ये ऑपरेटर उस कैरेक्टर पर कार्य करते हैं जो उनके सामने आता है।

आइए उदाहरणों पर इन ऑपरेटर्स के काम को देखें।

उदाहरण

पैटर्न के अनुसार सभी सबस्ट्रिंग खोजें: अक्षर 'x', अक्षर 'a' एक या अधिक बार, अक्षर 'x':

php<?php
  $str = 'xx xax xaax xaaax xbx';
  $res = preg_replace('#xa+x#', '!', $str);
?>

परिणामस्वरूप, वेरिएबल में निम्नलिखित लिखा जाएगा:

php'xx ! ! ! xbx'

उदाहरण

पैटर्न के अनुसार सभी सबस्ट्रिंग खोजें: अक्षर 'x', अक्षर 'a' शून्य या अधिक बार, अक्षर 'x':

php<?php
  $str = 'xx xax xaax xaaax xbx';
  $res = preg_replace('#xa*x#', '!', $str);
?>

परिणामस्वरूप, वेरिएबल में निम्नलिखित लिखा जाएगा:

php'! ! ! ! xbx'

उदाहरण

पैटर्न के अनुसार सभी सबस्ट्रिंग खोजें: अक्षर 'x', अक्षर 'a' शून्य या एक बार, अक्षर 'x':

php<?php
  $str = 'xx xax xaax xbx';
  $res = preg_replace('#xa?x#', '!', $str);
?>

परिणामस्वरूप, वेरिएबल में निम्नलिखित लिखा जाएगा:

php'! ! xaax xbx'

व्यावहारिक कार्य

Задание 1

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

php<?php
  $str = 'aa aba abba abbba abca abea';
?>

एक रेगुलर एक्सप्रेशन लिखें जो स्ट्रिंग्स को पैटर्न के अनुसार ढूंढे: अक्षर 'a', अक्षर 'b' एक या अधिक बार, अक्षर 'a'.

Задание 2

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

php<?php
  $str = 'aa aba abba abbba abca abea';
?>

एक रेगुलर एक्सप्रेशन लिखें जो स्ट्रिंग्स को पैटर्न के अनुसार ढूंढे: अक्षर 'a', अक्षर 'b' शून्य या अधिक बार, अक्षर 'a'.

Задание 3

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

php<?php
  $str = 'aa aba abba abbba abca abea';
?>

एक रेगुलर एक्सप्रेशन लिखें जो स्ट्रिंग्स को पैटर्न के अनुसार ढूंढे: अक्षर 'a', अक्षर 'b' एक बार या एक भी नहीं, अक्षर 'a'.

Задание 4

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

php<?php
  $str = 'aa aba abba abbba abca abea';
?>

एक रेगुलर एक्सप्रेशन लिखें जो स्ट्रिंग्स को 'aa', 'aba', 'abba', 'abbba', ढूंढे, 'abca' और 'abea' को शामिल किए बिना।