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

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

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

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

उदाहरण

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

pythontxt = 'xx xax xaax xaaax xbx'
res = re.sub('xa+x', '!', txt)

print(res)

कोड निष्पादन का परिणाम:

python'xx ! ! ! xbx'

उदाहरण

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

pythontxt = 'xx xax xaax xaaax xbx'
res = re.sub('xa*x', '!', txt)

print(res)

कोड निष्पादन का परिणाम:

python'! ! ! ! xbx'

उदाहरण

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

pythontxt = 'xx xax xaax xbx'
res = re.sub('xa?x', '!', txt)

print(res)

कोड निष्पादन का परिणाम:

python'! ! xaax xbx'

व्यावहारिक समस्याएं

Задание 1

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

pythontxt = 'aa aba abba abbba abca abea'

एक रेगुलर एक्सप्रेशन लिखें जो स्ट्रिंग्स 'aba', 'abba', 'abbba' को पैटर्न के अनुसार खोजे: कैरेक्टर 'a', कैरेक्टर 'b' कोई भी संख्या में बार, कैरेक्टर 'a'।

Задание 2

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

pythontxt = 'aa aba abba abbba abca abea'

एक रेगुलर एक्सप्रेशन लिखें जो स्ट्रिंग्स 'aa', 'aba', 'abba', 'abbba' को पैटर्न के अनुसार खोजे: कैरेक्टर 'a', कैरेक्टर 'b' कोई भी संख्या में बार (यहां तक कि शून्य बार भी), कैरेक्टर 'a'।

Задание 3

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

pythontxt = 'aa aba abba abbba abca abea'

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

Задание 4

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

pythontxt = 'aa aba abba abbba abca abea'

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