पायथन में रेगुलर एक्सप्रेशन में finditer मेथड
finditer मेथड का उद्देश्य
स्ट्रिंग में रेगुलर एक्सप्रेशन के सभी मिलानों का
एक इटरेटर प्राप्त करना है। मेथड के पहले पैरामीटर में
हम वह रेगुलर एक्सप्रेशन निर्दिष्ट करते हैं जिसे हम
खोजेंगे, दूसरे पैरामीटर में - वह स्ट्रिंग
जिसमें हम खोज करेंगे। यह मेथड बाएं से दाएं
खोजते हुए सभी मिलानों की जांच करता है।
मेथड मैच ऑब्जेक्ट्स का एक इटरेटर रिटर्न करता है।
finditer मेथड का सिंटैक्स
इस प्रकार है:
re.finditer(क्या खोजें, कहाँ खोजें)
आइए हमारी स्ट्रिंग में अंकों वाली सभी सबस्ट्रिंग्स ढूंढते हैं:
txt = 'aaaa 123 bbbb 456'
print(re.finditer('\d+', txt))
कोड निष्पादन का परिणाम:
<callable_iterator object at 0x000002AA891300A0>
और अब आइए हम एक वेरिएबल res
डिक्लेयर करते हैं, जिसका मान वह ऑब्जेक्ट होगा जो
हमें पिछले उदाहरण में मिला था। फिर इसे
लूप से इटरेट करते हैं:
txt = 'aaaa 123 bbbb 456'
res = re.finditer('\d+', txt)
for el in res:
print(el)
कोड निष्पादन के बाद दो match-ऑब्जेक्ट प्रिंट होंगे:
<re.Match object; span=(5, 8), match='123'>
<re.Match object; span=(14, 17), match='456'>
ये ऑब्जेक्ट्स टुपल के रूप में रेगुलर एक्सप्रेशन के सभी मिलानों की जानकारी रखते हैं। इनमें से इंडेक्स के द्वारा मिलानों को प्रिंट किया जा सकता है:
for el in res:
print(el[0])
कोड निष्पादन का परिणाम:
'123'
'456'
एक स्ट्रिंग दी गई है:
txt = '12 aaa 34 bbb 56 ccc'
लूप का उपयोग करके इससे सभी नंबर प्रिंट करें।