से लिया गया
नियमित अभिव्यक्ति HOWTO
स्पैन () एक ही ट्यूपल में इंडेक्स शुरू और अंत दोनों को लौटाता है। चूंकि मैच विधि केवल यह जांचती है कि क्या आरई एक स्ट्रिंग की शुरुआत में मेल खाता है, प्रारंभ () हमेशा शून्य होगा। हालाँकि, RegexObject इंस्टेंस की खोज विधि स्ट्रिंग के माध्यम से स्कैन करती है, इसलिए मैच उस स्थिति में शून्य पर शुरू नहीं हो सकता है।
>>> p = re.compile('[a-z]+')
>>> print p.match('::: message')
None
>>> m = p.search('::: message') ; print m
<re.MatchObject instance at 80c9650>
>>> m.group()
'message'
>>> m.span()
(4, 11)
इसके साथ मिलाएं:
पायथन 2.2 में, खोजक () विधि भी उपलब्ध है, जो पुनरावृत्ति के रूप में मैचऑबजेक्ट इंस्टेंस का एक क्रम लौटाता है।
>>> p = re.compile( ... )
>>> iterator = p.finditer('12 drummers drumming, 11 ... 10 ...')
>>> iterator
<callable-iterator object at 0x401833ac>
>>> for match in iterator:
... print match.span()
...
(0, 2)
(22, 24)
(29, 31)
आप के आदेश पर कुछ करने में सक्षम होना चाहिए
for match in re.finditer(r'[a-z]', 'a1b2c3d4'):
print match.span()