परिचय
रेगेक्स मॉड्यूल रेगुलर एक्सप्रेशन के लिए खड़ा है। यदि आप पहले से ही प्रोग्रामिंग पर काम कर चुके हैं, तो आप इस शब्द को पहले ही कई बार देख चुके होंगे। हम खोजने और बदलने के लिए रेगुलर एक्सप्रेशन का उपयोग करते हैं, इसका उपयोग विभिन्न टेक्स्ट एडिटर, सर्च इंजन, वर्ड प्रोसेसर आदि में किया जाता है।
दूसरे शब्दों में, यह एक निश्चित पैटर्न से मेल खाने में मदद करता है जिसे आप ढूंढ रहे हैं।
इसका एक अच्छा उदाहरण यह होगा कि कैसे आपकी कोलाज वेबसाइट आपको केवल अपने विश्वविद्यालय के मेल का उपयोग करने की अनुमति देती है और किसी अन्य एक्सटेंशन का नहीं।
आरंभ करना
नियमित अभिव्यक्ति मॉड्यूल पायथन के भीतर पैक किया जाता है। आपको इसे अलग से डाउनलोड और इंस्टॉल करने की आवश्यकता नहीं है।
इसकी सामग्री तक पहुंच शुरू करने के लिए, हमें पहले मॉड्यूल को आयात करना होगा। RegEx मॉड्यूल आयात करने के लिए, हम उपयोग करते हैं
import re
विभिन्न कार्यों को एक्सप्लोर करना
RegEx मॉड्यूल बहुत सारे कार्यों के साथ आता है और उनमें से प्रत्येक के बीच अंतर को समझना और जानना आवश्यक है।
नीचे कुछ महत्वपूर्ण कार्यों का उल्लेख किया गया है जिनका आप निश्चित रूप से तब उपयोग करेंगे जब आप पायथन परियोजनाओं पर काम करना शुरू करेंगे।
उदाहरण
re.compile(pattern, flags) #Compiles the pattern to be matched re.search(pattern, string, flags) #Searches through the string for exact match re.match(pattern, string, flags) #Checks if there is a match between pattern and string re.split(pattern, string, max, flag) #Splits the string based on the pattern provided re.findall(pattern, string, flag) #Prints all the matches found using the pattern re.finditer(pattern, string, flags) #Returns the string as an iterable object re.sub(pattern, repl, string, count) #Replaces the string with the pattern re.subn(pattern, repl, string, count) #Does the same thing as re.sub but returns it in a tuple(string and count) re.escape(pattern) #Escapes all characters other than ascii characters
पुन:संकलित करें और कार्यों का पुन:मिलान करें
आइए एक स्ट्रिंग लें, "हैलो वर्ल्ड" कहें। अब, आइए जानें कि क्या उपरोक्त स्ट्रिंग स्ट्रिंग में मौजूद है "हैलो वर्ल्ड! चीजें कैसी चल रही हैं?"
ऐसा करने के लिए, हम 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")
आउटपुट
Strings 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 जाँचता है कि क्या "वहाँ" शब्द मौजूद है और इसे "दुनिया" से बदल देता है।
सबन फ़ंक्शन ठीक वही काम करता है लेकिन एक स्ट्रिंग के बजाय एक टपल देता है और किए गए प्रतिस्थापन की कुल संख्या में भी जोड़ता है।
वास्तविक दुनिया का उदाहरण
RegEx मॉड्यूल का उपयोग करने के लिए वास्तविक दुनिया के एप्लिकेशन/उदाहरण में से एक पासवर्ड को मान्य करना होगा।
import re matching_sequence = r"[0−9]" while(True): x = input("Enter your password : ") 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("Press Enter key to exit ")
प्रोग्राम जांच करेगा कि आपने एक वैध पासवर्ड (कम से कम एक नंबर के साथ 7+ वर्ण) दर्ज किया है या नहीं।
निष्कर्ष
आपने पायथन में मौजूद रेगेक्स मॉड्यूल की मूल बातें और उसमें मौजूद सभी विभिन्न कार्यों के बारे में जान लिया है।
RegEx मॉड्यूल के लिए बहुत अधिक कार्य और उपयोग हैं। यदि आप रुचि रखते हैं, तो आप https://docs.python.org/3/library/re.html पर उनके आधिकारिक दस्तावेज़ीकरण से अधिक पढ़ सकते हैं।