परिचय
RegEx मॉड्यूल रेगुलर एक्सप्रेशन्स के लिए खड़ा है। यदि आपने पहले प्रोग्रामिंग पर काम किया है, तो आप इस शब्द को पहले ही कई बार देख चुके होंगे। हम रेगुलर एक्सप्रेशन्स का उपयोग खोज और प्रतिस्थापन के लिए करते हैं, इसका उपयोग विभिन्न टेक्स्ट एडिटर्स, सर्च इंजन्स, वर्ड प्रोसेसर्स आदि में किया जाता है।
दूसरे शब्दों में, यह उस निश्चित पैटर्न से मेल खाने में मदद करता है जिसे आप ढूंढ रहे हैं।
इसका एक अच्छा उदाहरण यह होगा कि आपकी कॉलेज वेबसाइट आपको केवल अपने यूनिवर्सिटी मेल का उपयोग करने की अनुमति देती है और अन्य किसी एक्सटेंशन की नहीं।
शुरुआत करना
रेगुलर एक्सप्रेशन मॉड्यूल Python के साथ पैकेज्ड आता है। आपको इसे अलग से डाउनलोड और इंस्टॉल करने की आवश्यकता नहीं है।
इसकी सामग्री तक पहुंचना शुरू करने के लिए, हमें पहले मॉड्यूल इम्पोर्ट करना होगा। RegEx मॉड्यूल इम्पोर्ट करने के लिए, हम उपयोग करते हैं
import re
विभिन्न फंक्शन्स की खोज
RegEx मॉड्यूल बहुत सारे फंक्शन्स के साथ आता है और उनमें से प्रत्येक के बीच अंतर को समझना और जानना आवश्यक है।
नीचे कुछ महत्वपूर्ण फंक्शन्स दिए गए हैं जिनका आप निश्चित रूप से उपयोग करेंगे जब आप Python प्रोजेक्ट्स पर काम करना शुरू करेंगे।
उदाहरण
re.compile(pattern, flags) # मिलान किए जाने वाले पैटर्न को कंपाइल करता है
re.search(pattern, string, flags) # सटीक मिलान के लिए स्ट्रिंग में खोज करता है
re.match(pattern, string, flags) # जांचता है कि पैटर्न और स्ट्रिंग के बीच मिलान है या नहीं
re.split(pattern, string, max, flag) # प्रदान किए गए पैटर्न के आधार पर स्ट्रिंग को विभाजित करता है
re.findall(pattern, string, flag) # पैटर्न का उपयोग करके पाए गए सभी मिलान प्रिंट करता है
re.finditer(pattern, string, flags) # स्ट्रिंग को एक इटरेबल ऑब्जेक्ट के रूप में लौटाता है
re.sub(pattern, repl, string, count) # स्ट्रिंग को पैटर्न से बदलता है
re.subn(pattern, repl, string, count) # re.sub जैसा ही करता है लेकिन इसे टुपल (स्ट्रिंग और काउंट) में लौटाता है
re.escape(pattern) # ASCII कैरेक्टर्स के अलावा सभी कैरेक्टर्स को एस्केप करता है
re.compile और re.match फंक्शन्स
आइए एक स्ट्रिंग लें, मान लें "Hello world"। अब, आइए पता करें कि उपरोक्त स्ट्रिंग "Hello world! How are things going?" में मौजूद है या नहीं।
इसे करने के लिए, हम re.compile और re.match फंक्शन्स का उपयोग करते हैं।
x = re.compile("Hello world")
y = x.match("Hello world! How are things going?")
if (y):
print("Strings match")
else:
print("Strings do not match")
आउटपुट
Strings match
यदि आप सोच रहे हैं कि हम कंपाइल फंक्शन के बिना ऐसा क्यों नहीं कर सकते, तो आप सही हैं! हम कंपाइल फंक्शन के बिना ऐसा कर सकते हैं।
x = re.match("Hello world", "Hello world! How are things going?")
if (y):
print("Strings match")
else:
print("Strings do not match")
आउटपुट
String match
re.split फंक्शन
x = re.split("\W+", "Hello,World")
print(x)
x = re.split("(\W+)", "Hello,World")
print(x)
आउटपुट
['Hello', 'World']
['Hello', ',', 'World']
उपरोक्त उदाहरण में, "\W+" का मूल अर्थ बाएं से विभाजन शुरू करना है और + चिह्न का अर्थ है अंत तक आगे बढ़ते रहना। जब इसे केस 2 की तरह ब्रैकेट्स में कवर किया जाता है, तो यह विभाजित करता है और विराम चिह्नों को भी जोड़ता है, जैसे कॉमा।
re.sub और re.subn फंक्शन्स
x = re.sub(r"there", "World", "Hello there. Python is fun.")
print(x)
x = re.subn(r"there", "World", "Hello there. Python is fun. Hello there")
print(x)
आउटपुट
Hello World. Python is fun.
('Hello World. Python is fun. Hello World', 2)
उपरोक्त उदाहरण में, re.sub जांचता है कि शब्द "there" मौजूद है या नहीं और इसे "world" से बदल देता है।
subn फंक्शन बिल्कुल वही काम करता है लेकिन स्ट्रिंग के बजाय एक टुपल लौटाता है और साथ ही किए गए कुल प्रतिस्थापनों की संख्या भी जोड़ता है।
वास्तविक दुनिया का उदाहरण
RegEx मॉड्यूल का उपयोग करने के वास्तविक दुनिया के अनुप्रयोग/उदाहरण में से एक पासवर्ड को वैलिडेट करना होगा।
import re
matching_sequence = r"[0-9]"
while(True):
x = input("अपना पासवर्ड दर्ज करें: ")
r = re.search(matching_sequence, x)
if (r and len(x) > 6):
print(x + " is a valid password")
else:
print(x + " is not a valid password. Password MUST be atleast 7 characters with atleast 1 number")
input("बाहर निकलने के लिए Enter कुंजी दबाएं ")
प्रोग्राम जांच करेगा कि आपने एक वैलिड पासवर्ड (7+ कैरेक्टर्स कम से कम एक नंबर के साथ) दर्ज किया है या नहीं।
निष्कर्ष
आपने Python में मौजूद RegEx मॉड्यूल की मूल बातें और इसके भीतर मौजूद विभिन्न विभिन्न फंक्शन्स सीख ली हैं।
RegEx मॉड्यूल के लिए और भी बहुत सारे फंक्शन्स और उपयोग हैं। यदि आप रुचि रखते हैं, तो आप https://docs.python.org/3/library/re.html पर उनकी आधिकारिक डॉक्यूमेंटेशन से अधिक पढ़ सकते हैं।