Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> Python

पायथन में RegEx मॉड्यूल का उपयोग करके पैटर्न और स्ट्रिंग्स का मिलान कैसे करें

परिचय

रेगेक्स मॉड्यूल रेगुलर एक्सप्रेशन के लिए खड़ा है। यदि आप पहले से ही प्रोग्रामिंग पर काम कर चुके हैं, तो आप इस शब्द को पहले ही कई बार देख चुके होंगे। हम खोजने और बदलने के लिए रेगुलर एक्सप्रेशन का उपयोग करते हैं, इसका उपयोग विभिन्न टेक्स्ट एडिटर, सर्च इंजन, वर्ड प्रोसेसर आदि में किया जाता है।

दूसरे शब्दों में, यह एक निश्चित पैटर्न से मेल खाने में मदद करता है जिसे आप ढूंढ रहे हैं।

इसका एक अच्छा उदाहरण यह होगा कि कैसे आपकी कोलाज वेबसाइट आपको केवल अपने विश्वविद्यालय के मेल का उपयोग करने की अनुमति देती है और किसी अन्य एक्सटेंशन का नहीं।

आरंभ करना

नियमित अभिव्यक्ति मॉड्यूल पायथन के भीतर पैक किया जाता है। आपको इसे अलग से डाउनलोड और इंस्टॉल करने की आवश्यकता नहीं है।

इसकी सामग्री तक पहुंच शुरू करने के लिए, हमें पहले मॉड्यूल को आयात करना होगा। 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 पर उनके आधिकारिक दस्तावेज़ीकरण से अधिक पढ़ सकते हैं।


  1. पायथन का उपयोग करके किसी शहर का देशांतर और अक्षांश कैसे प्राप्त करें?

    किसी शहर का देशांतर और अक्षांश प्राप्त करने के लिए, हम जियोपी का उपयोग करेंगे मापांक। जियोपी पते, शहरों, देशों आदि के निर्देशांकों का पता लगाने के लिए तृतीय-पक्ष जियोकोडर और अन्य डेटा स्रोतों का उपयोग करता है। सबसे पहले, सुनिश्चित करें कि जियोपी मॉड्यूल स्थापित है - pip install geopy निम्नलिखित उद

  1. पायथन और मैटप्लोटलिब का उपयोग करके लाइनों के अंत की व्याख्या कैसे करें?

    पायथन और मैटप्लोटलिब का उपयोग करके पंक्तियों के अंत की व्याख्या करने के लिए, हम निम्नलिखित कदम उठा सकते हैं - आकृति का आकार सेट करें और सबप्लॉट के बीच और आसपास पैडिंग समायोजित करें। चर को इनिशियलाइज़ करें, पंक्तियाँ , पंक्तियों की संख्या डेटा प्राप्त करने के लिए। आयताकार सारणीबद्ध डेटा में पांडा डे

  1. पायथन में ओपनपीएक्सएल मॉड्यूल का उपयोग करके एक्सेल फाइलों को पढ़ना और लिखना

    परिचय ओपनपीएक्सएल एक्सेल 2010 xlsx/xlsm/xltx/xltm फाइलों को पढ़ने/लिखने के लिए एक पायथन लाइब्रेरी है। इसका जन्म मौजूदा पुस्तकालय की कमी के कारण पाइथन से मूल रूप से ऑफिस ओपन एक्सएमएल प्रारूप पढ़ने/लिखने के लिए हुआ था। एक एक्सेल फ़ाइल जिसे हम संचालन के लिए उपयोग करते हैं, वर्कबुक कहलाती है जिसमें न