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

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


परिचय

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 पर उनकी आधिकारिक डॉक्यूमेंटेशन से अधिक पढ़ सकते हैं।


  1. Python का उपयोग करके किसी शहर की लॉन्गिट्यूड और लैटिट्यूड कैसे प्राप्त करें? Python का उपयोग करके किसी शहर की लॉन्गिट्यूड और लैटिट्यूड कैसे प्राप्त करें?

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

  1. Python और Matplotlib का उपयोग करके लाइन्स के अंत को कैसे एनोटेट करें? Python और Matplotlib का उपयोग करके लाइन्स के अंत को कैसे एनोटेट करें?

    Python और Matplotlib का उपयोग करके लाइन्स के अंत को एनोटेट करने के लिए, हम निम्नलिखित चरण अपना सकते हैं -फिगर का आकार सेट करें और सबप्लॉट्स के बीच और आसपास पैडिंग एडजस्ट करें।पंक्तियों की संख्या प्राप्त करने के लिए rows वेरिएबल इनिशियलाइज़ करें।आयताकार टेबुलर डेटा में Pandas डेटाफ्रेम प्राप्त करें।ड

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

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