के साथ अंतिम मिलान ढूंढें मैं स्ट्रिंग में एक साधारण पैटर्न के अंतिम अवसर से मेल खाता हूं, उदा।पाइथन नियमित अभिव्यक्ति
list = re.findall(r"\w+ AAAA \w+", "foo bar AAAA foo2 AAAA bar2")
print "last match: ", list[len(list)-1]
लेकिन, अगर स्ट्रिंग बहुत लंबा है, मैचों की एक बड़ी सूची उत्पन्न होता है। क्या "एएएए" के दूसरे अवसर से मेल खाने का कोई और सीधा तरीका है या क्या मुझे इस कामकाज का उपयोग करना चाहिए?
>>> s = """foo bar AAAA
foo2 AAAA bar2"""
>>> re.findall(r"\w+ AAAA \w+$", s)
['foo2 AAAA bar2']
इसके अलावा, ध्यान दें कि list
अपने चर के लिए एक बुरा नाम है के रूप में यह छाया में निर्मित प्रकार:
स्ट्रिंग ('mystr [:: - 1]') को उलट करने के लिए एक और विकल्प हो सकता है और पैटर्न के विपरीत के पहले अवसर की खोज कर सकता है। – ChristopheD
@ क्रिस्टोफेड, सकल! रेगेक्स की तुलना में समझने में केवल एक चीज एक पिछली है। – mlissner