Python Academy · पाठ

re.sub, फ़्लैग और संकलित पैटर्न

टेक्स्ट बदलें, IGNORECASE जैसे फ़्लैग का उपयोग करें और दोबारा उपयोग के लिए पैटर्न संकलित करें।

पाठ 4, कुल 4 में से14 चरण

re.sub, फ़्लैग और संकलित पैटर्न, CoddyKit पर Python Academy का एक निःशुल्क पाठ है। यह 4 में से 4वाँ पाठ है। आप नीचे पूरा पाठ निःशुल्क पढ़ सकते हैं—फिर अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर के साथ ब्राउज़र में इसका व्यावहारिक अभ्यास कर सकते हैं। यह Python Academy सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। Python Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

परिचय

re.sub मिलानों को बदलता है। फ़्लैग मिलान के व्यवहार को बदलते हैं। बार-बार उपयोग के लिए कंपाइल किए गए पैटर्न अधिक कुशल होते हैं।

re.sub का मूल उपयोग

re.sub(pattern, repl, string) सभी मिलानों को repl से बदलता है। चौथा तर्क count= प्रतिस्थापनों की संख्या सीमित करता है।
import re
result = re.sub(r'\d+', 'X', 'abc 123 def 456')
print(result)

समूहों के साथ re.sub

कैप्चर किए गए समूह डालने के लिए प्रतिस्थापन में \1, \2 या \g<1> का उपयोग कीजिए। नामित समूहों के लिए \g का उपयोग कीजिए।
import re
# Swap first and last name
result = re.sub(r'(\w+),\s*(\w+)', r'\2 \1', 'Smith, John')
print(result)

फ़ंक्शन के साथ re.sub

प्रतिस्थापन callable हो सकता है: f(match) → प्रतिस्थापन स्ट्रिंग। इससे जटिल रूपांतरण संभव होते हैं।
import re
def double_num(m): return str(int(m.group())*2)
result = re.sub(r'\d+', double_num, '1 cats and 2 dogs')
print(result)

re.IGNORECASE (re.I)

यह पैटर्न को बड़े और छोटे अक्षरों से अप्रभावित बनाता है। re.I के साथ r'hello' का मिलान 'HELLO', 'Hello' आदि से होता है।
import re
print(re.findall(r'hello', 'Hello HELLO hello', re.I))

re.MULTILINE (re.M)

यह ^ और $ को पूरी स्ट्रिंग के बजाय प्रत्येक LINE की शुरुआत और अंत से मिलान करने देता है।
import re
text = 'first\nsecond\nthird'
print(re.findall(r'^\w+', text, re.M))

re.DOTALL (re.S)

यह . को नई पंक्तियों से भी मिलान करने देता है। इसके बिना . पंक्ति की सीमाओं पर रुक जाता है।
import re
text = 'line1\nline2'
print(re.search(r'line1.line2', text, re.S).group())

re.VERBOSE (re.X)

यह पठनीयता के लिए पैटर्न में टिप्पणियाँ और रिक्त स्थान रखने देता है। रिक्त स्थान अनदेखे किए जाते हैं; शाब्दिक रिक्त स्थान के लिए \ + space का उपयोग कीजिए।
import re
pattern = re.compile(r'''
    (?P<year>\d{4})   # year
    -
    (?P<month>\d{2}) # month
    -
    (?P<day>\d{2})   # day
''', re.X)
print(pattern.search('2024-01-15').groupdict())

फ़्लैग संयोजित करना

फ़्लैग को | से संयोजित कीजिए: re.I | re.M। या पैटर्न की शुरुआत में inline फ़्लैग (?im) का उपयोग कीजिए।
import re
print(re.findall(r'^\w+', 'Hello\nWorld', re.I | re.M))

प्रदर्शन के लिए re.compile

re.compile() से किसी पैटर्न को एक बार कंपाइल कीजिए। कंपाइल किए गए ऑब्जेक्ट पर विधियाँ कॉल कीजिए: pat.search(), pat.findall()।
import re
email_re = re.compile(r'[\w.+-]+@[\w-]+\.[\w.]+')
emails = ['user@example.com', 'invalid', 'test@test.org']
print([e for e in emails if email_re.fullmatch(e)])

re.escape()

re.escape(string) स्ट्रिंग में मौजूद सभी विशेष Regex वर्णों को एस्केप करता है, इसलिए स्ट्रिंग को शाब्दिक पैटर्न के रूप में उपयोग किया जा सकता है।
import re
user_input = 'price.is $10+'
pattern = re.compile(re.escape(user_input))
text = 'The price.is $10+ today'
print(bool(pattern.search(text)))

त्वरित जाँच

Python Regex में कौन-सा फ़्लैग . को नई पंक्तियों से मिलान करने देता है?

पुनरावलोकन

re.sub: स्ट्रिंग, समूह या फ़ंक्शन से प्रतिस्थापन। फ़्लैग: re.I (अक्षर-स्थिति), re.M (बहुपंक्ति ^/$), re.S (डॉट का \n से मिलान), re.X (विस्तृत रूप)। पुनः उपयोग के लिए कंपाइल कीजिए।

आगे बढ़ते रहिए

बहुत अच्छा कार्य! अगला पाठ आपकी प्रतीक्षा कर रहा है।
शुरुआत निःशुल्क

एआई शिक्षक के साथ Python सीखें — निःशुल्क

अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।

पाठ्यक्रम
76
पाठ
320

अक्सर पूछे जाने वाले प्रश्न

क्या “re.sub, फ़्लैग और संकलित पैटर्न” पाठ निःशुल्क है?

हाँ—“re.sub, फ़्लैग और संकलित पैटर्न” का पूरा पाठ यहाँ वेब पर निःशुल्क पढ़ा जा सकता है। इंटरैक्टिव अभ्यास (अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर) करने और Python Academy पाठ्यक्रम का बाकी हिस्सा अनलॉक करने के लिए CoddyKit PRO लें। Python Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

“re.sub, फ़्लैग और संकलित पैटर्न” में मैं क्या सीखूँगा?

टेक्स्ट बदलें, IGNORECASE जैसे फ़्लैग का उपयोग करें और दोबारा उपयोग के लिए पैटर्न संकलित करें। आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ Python Academy का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।

क्या Python Academy शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?

पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर Python Academy शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 4वाँ पाठ है।

“re.sub, फ़्लैग और संकलित पैटर्न” पाठ पूरा करने में कितना समय लगता है?

CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।

क्या मैं इस Python Academy पाठ में कोड लिख और चला सकता हूँ?

हाँ। हर Python Academy पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।

इस पाठ्यक्रम के सभी पाठ

  1. रेगेक्स की मूल बातें
  2. re.match, re.search, re.findall का उपयोग
  3. ग्रुप और नामित कैप्चर
  4. re.sub, फ़्लैग और संकलित पैटर्न
← Python Academy पर वापस जाएँ