पायथन नियमित अभिव्यक्तियाँ आसान बना दी गईं
नियमित अभिव्यक्तियाँ (रेगेक्स) शक्तिशाली उपकरण हैं जिनका उपयोग पैटर्न के आधार पर स्ट्रिंग्स का मिलान करने और उनमें हेरफेर करने के लिए किया जाता है। पायथन में, re
मॉड्यूल नियमित अभिव्यक्तियों के लिए समर्थन प्रदान करता है, जिससे आप जटिल स्ट्रिंग ऑपरेशन को कुशलतापूर्वक निष्पादित कर सकते हैं। यह लेख आपको नियमित अभिव्यक्तियों की मूल बातें बताएगा और आपको दिखाएगा कि पायथन में उनका प्रभावी ढंग से उपयोग कैसे किया जाए।
re
मॉड्यूल के साथ आरंभ करना
पायथन में रेगुलर एक्सप्रेशन का उपयोग करने के लिए, आपको re
मॉड्यूल आयात करना होगा। यह मॉड्यूल रेगेक्स पैटर्न के साथ काम करने के लिए कई फ़ंक्शन प्रदान करता है:
re.match()
- केवल स्ट्रिंग के आरंभ में मिलान की जांच करता है।re.search()
- संपूर्ण स्ट्रिंग को मिलान के लिए खोजता है।re.findall()
- स्ट्रिंग में सभी मिलान ढूँढता है और उन्हें सूची के रूप में लौटाता है।re.sub()
- स्ट्रिंग में मिलान को निर्दिष्ट प्रतिस्थापन के साथ प्रतिस्थापित करता है।
बुनियादी पैटर्न मिलान
नियमित अभिव्यक्तियाँ खोज पैटर्न को परिभाषित करने के लिए विशेष वर्णों का उपयोग करती हैं। यहाँ कुछ बुनियादी पैटर्न दिए गए हैं:
.
- नई लाइन को छोड़कर किसी भी एकल वर्ण से मेल खाता है।\d
- किसी भी अंक से मेल खाता है ([0-9]
के बराबर).\w
- किसी भी अल्फ़ान्यूमेरिक वर्ण से मेल खाता है ([a-zA-Z0-9_]
के समतुल्य).\s
- किसी भी रिक्त स्थान वर्ण से मेल खाता है।^
- स्ट्रिंग के प्रारंभ से मेल खाता है.$
- स्ट्रिंग के अंत से मेल खाता है.
उदाहरण
बुनियादी पैटर्न मिलान को प्रदर्शित करने वाले कुछ उदाहरण यहां दिए गए हैं:
import re
# Match a pattern at the beginning of a string
result = re.match(r'Hello', 'Hello, World!')
print(result.group()) # Output: Hello
# Search for a pattern in the entire string
result = re.search(r'\d+', 'There are 24 hours in a day.')
print(result.group()) # Output: 24
समूहों के साथ नियमित अभिव्यक्तियों का उपयोग करना
समूहों का उपयोग मिलान किए गए पाठ के भागों को कैप्चर करने के लिए किया जाता है। उन्हें कोष्ठकों का उपयोग करके परिभाषित किया जाता है। उदाहरण के लिए, पैटर्न के विशिष्ट भागों को निकालने के लिए, आप समूहों का उपयोग कर सकते हैं:
pattern = r'(\d{3})-(\d{2})-(\d{4})'
text = 'My number is 123-45-6789.'
# Find all matches with groups
match = re.search(pattern, text)
if match:
print(f'Area Code: {match.group(1)}') # Output: 123
print(f'Prefix: {match.group(2)}') # Output: 45
print(f'Suffix: {match.group(3)}') # Output: 6789
विशेष वर्णों का उपयोग
नियमित अभिव्यक्तियों में अधिक जटिल पैटर्न मिलान के लिए कई विशेष वर्ण शामिल होते हैं:
*
- पूर्ववर्ती तत्व की 0 या अधिक घटनाओं से मेल खाता है।+
- पूर्ववर्ती तत्व की 1 या अधिक घटनाओं से मेल खाता है।?
- पूर्ववर्ती तत्व की 0 या 1 उपस्थिति से मेल खाता है।{n}
- पूर्ववर्ती तत्व कीn
घटनाओं से सटीक रूप से मेल खाता है।|
- या तो पहले के पैटर्न से या उसके बाद के पैटर्न से मेल खाता है।
उदाहरण
विशेष वर्णों के उपयोग के कुछ उदाहरण यहां दिए गए हैं:
# Match a pattern with 0 or more occurrences
result = re.findall(r'\d*', '123 abc 456')
print(result) # Output: ['123', '', '', '456']
# Match a pattern with 1 or more occurrences
result = re.findall(r'\d+', 'There are 24 apples and 3 oranges.')
print(result) # Output: ['24', '3']
टेक्स्ट को रेगुलर एक्सप्रेशन से बदलना
re.sub()
फ़ंक्शन का उपयोग स्ट्रिंग के उन भागों को प्रतिस्थापित करने के लिए किया जाता है जो पैटर्न से मेल खाते हैं:
text = 'The rain in Spain falls mainly in the plain.'
# Replace 'Spain' with 'France'
new_text = re.sub(r'Spain', 'France', text)
print(new_text) # Output: The rain in France falls mainly in the plain.
निष्कर्ष
रेगुलर एक्सप्रेशन, पायथन में पैटर्न मिलान और टेक्स्ट हेरफेर के लिए एक शक्तिशाली उपकरण है। re
मॉड्यूल के साथ, आप जटिल पैटर्न के आधार पर टेक्स्ट खोज, मिलान और प्रतिस्थापित कर सकते हैं। बुनियादी सिंटैक्स और विशेष वर्णों को समझकर, आप टेक्स्ट प्रोसेसिंग कार्यों की एक विस्तृत श्रृंखला को प्रभावी ढंग से संभालने के लिए रेगुलर एक्सप्रेशन का लाभ उठा सकते हैं।