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

पायथन में रेगुलर एक्सप्रेशन्स (Regex) उदाहरणों के साथ

रेगुलर एक्सप्रेशन्स (Regex) पैटर्न मिलान के लिए एक शक्तिशाली भाषा है। पायथन में re मॉड्यूल इसका समर्थन करता है।

बुनियादी उपयोग

import re

txt = "Use of python in Machine Learning"
x = re.search("^Use.*Learning$", txt)
if x:
    print("YES! We have a match!")
else:
    print("No match")

मुख्य re फ़ंक्शन्स

फ़ंक्शनविवरण
findallसभी मिलान की लिस्ट लौटाता है
searchपहला मिलान मिलने पर Match ऑब्जेक्ट लौटाता है
splitमिलान पर स्ट्रिंग विभाजित करके लिस्ट लौटाता है
subमिलान को प्रतिस्थापित करता है

मेटाकैरेक्टर्स

कैरेक्टरविवरणउदाहरण
[]कैरेक्टर सेट[a-m]
\स्पेशल सीक्वेंस / एस्केप\d
.कोई भी कैरेक्टर (न्यूलाइन छोड़कर)he..o
^शुरुआत से मिलान^Hello
$अंत से मिलानWorld$
*शून्य या अधिकaix*
+एक या अधिकaix+
{n}ठीक n बारa{2}
|या (alternation)cat|dog
()कैप्चर और ग्रुप(ab)+

स्पेशल सीक्वेंसेस

सीक्वेंसविवरण
\Aस्ट्रिंग की शुरुआत
\bवर्ड बाउंड्री
\Bनॉन-वर्ड बाउंड्री
\dडिजिट (0-9)
\Dनॉन-डिजिट
\sव्हाइटस्पेस
\Sनॉन-व्हाइटस्पेस
\wवर्ड कैरेक्टर (a-z, A-Z, 0-9, _)
\Wनॉन-वर्ड कैरेक्टर
\Zस्ट्रिंग का अंत

सेट्स []

सेटविवरण
[abc]a, b, या c
[a-z]लोअरकेस a से z
[^abc]a, b, c के अलावा
[0-9]कोई डिजिट

उदाहरण

findall()

txt = "Use of python in Machine Learning"
print(re.findall("in", txt))   # ['in', 'in', 'in']
print(re.findall("Hello", txt)) # []

search()

txt = "Python is popular"
m = re.search(r"\s", txt)
print(m.start())  # 6 (पहला व्हाइटस्पेस)

split()

string = "Python is popular"
print(re.split(r"\s", string))
# ['Python', 'is', 'popular']

sub()

string = "Python is popular"
print(re.sub(r"\s", "_", string))
# Python_is_popular

Match ऑब्जेक्ट

search() एक Match ऑब्जेक्ट लौटाता है जिसमें मिलान की जानकारी होती है:

  • .span(): (शुरुआत, अंत) इंडेक्स टपल
  • .string: मूल स्ट्रिंग
  • .group(): मिलान वाला भाग
m = re.search(r"\bP\w+", "Python is popular")
print(m.span())   # (0, 6)
print(m.group())  # Python

रॉ स्ट्रिंग्स (r'...')

रजेक्स पैटर्न्स के लिए हमेशा रॉ स्ट्रिंग्स उपयोग करें ताकि बैकस्लैश एस्केप न हों:

re.search(r"\d+", text)   # सही
re.search("\d+", text)    # गलत: \d एस्केप हो जाता है
  1. जावास्क्रिप्ट रेगुलर एक्सप्रेशन मॉडिफायर्स को उदाहरण सहित समझाएं जावास्क्रिप्ट रेगुलर एक्सप्रेशन मॉडिफायर्स को उदाहरण सहित समझाएं

    परिचय जावास्क्रिप्ट रेगुलर एक्सप्रेशन मॉडिफायर्स (फ्लैग्स) रेगुलर एक्सप्रेशन का वैकल्पिक भाग होते हैं जो केस-इनसेंसिटिव और ग्लोबल सर्च करने की अनुमति देते हैं। मॉडिफायर्स को एक साथ जोड़ा भी जा सकता है। मॉडिफायर्स मॉडिफायरविवरण gग्लोबल मिलान सक्षम करता है - पहले मिलान पर रुकने के बजाय सभी मिलान

  1. - पायथन में रेगुलर एक्सप्रेशन का उपयोग करके नॉन-वर्ड कैरेक्टर्स से कैसे मिलान करें?

    नीचे दिया गया कोड दी गई स्ट्रिंग से सभी नॉन-वर्ड कैरेक्टर्स से मिलान करता है और उनकी सूची प्रिंट करता है।उदाहरणimport re\ns = ab5z8d*$&Y@\nregx = re.compile(r\W)\nresult = regx.findall(s)\nprint(result)आउटपुटयह आउटपुट देता है:[*, $, &, @]

  1. - पायथन में रेगुलर एक्सप्रेशन का उपयोग करके वर्ड से कैसे मिलान करें?

    निम्न कोड दी गई स्ट्रिंग में meeting शब्द से मिलान करता है।यह एनक्लोजिंग कैरेक्टर्स का सम्मान करने के लिए पॉजिटिव लुक-अहेड और लुक-बिहाइंड असर्शन का उपयोग करता है लेकिन उन्हें मिलान में शामिल किए बिना।उदाहरणimport re\ns = https://www.google.com/meeting_agenda_minutes.html\nresult = re.findall(r(?<=[\