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

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

पायथन में रेगुलर एक्सप्रेशन के साथ काम शुरू करने के लिए, हमें एक विशेष मॉड्यूल re इम्पोर्ट करने की आवश्यकता है:

pythonimport re

मॉड्यूल re में ऐसे तरीके शामिल हैं जो रेगुलर एक्सप्रेशन के साथ काम करने के लिए डिज़ाइन किए गए हैं। एक रेगुलर एक्सप्रेशन कमांड का एक सेट है और इसमें दो प्रकार के वर्ण होते हैं: वे जो स्वयं को दर्शाते हैं और कमांड वर्ण, जिन्हें विशेष वर्ण कहा जाता है।

रेगुलर एक्सप्रेशन से परिचय sub विधि के उदाहरण पर शुरू करना सबसे अच्छा है, जिसका उपयोग स्ट्रिंग में प्रतिस्थापन के लिए किया जाता है। पहला पैरामीटर क्या बदलना है, दूसरा - किससे बदलना है। तीसरे पैरामीटर में हम वह स्ट्रिंग निर्दिष्ट करते हैं जिसमें प्रतिस्थापन करने की आवश्यकता है। चौथे वैकल्पिक पैरामीटर में हम प्रतिस्थापन की संख्या निर्धारित करते हैं। इस विधि का उपयोग करके सबसे सरल प्रतिस्थापन इस तरह दिखेगी:

pythonres = re.sub('a', '!', 'bab')
print(res) # 'b!b' प्रिंट करेगा

जैसा कि आपने देखा, रेगुलर एक्सप्रेशन में अक्षर स्वयं को दर्शाते हैं। यही बात अंकों पर भी लागू होती है। आइए अंक 2 को ! से बदलें:

pythonres = re.sub('2', '!', '12abc3')
print(res) # '1!abc3' प्रिंट करेगा

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

pythonres = re.sub('x.x', '!', 'xax eee')
print(res) # '! eee' प्रिंट करेगा
Задание 1

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

pythontxt = 'ahb acb aeb aeeb adcb axeb'

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

Задание 2

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

pythontxt = 'aba aca aea abba adca abea'

एक रेगुलर एक्सप्रेशन लिखें जो पैटर्न के अनुसार स्ट्रिंग 'abba', 'adca', 'abea' ढूंढेगा: अक्षर 'a', 2 कोई भी वर्ण, अक्षर 'a'।

Задание 3

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

pythontxt = 'aba aca aea abba adca abea'

एक रेगुलर एक्सप्रेशन लिखें जो 'adca' को कैप्चर किए बिना 'abba' और 'abea' स्ट्रिंग ढूंढेगा।