उपयोग ABC
और XYZ
लुक-पीछे और देखो आगे वक्तव्य दिये एंकर के रूप में:
(?<=ABC).*?(?=XYZ)
(?<=...)
लुक-पीछे दावे केवल पाठ कि ABC
से पहले किया गया था में स्थान पर मेल खाता है। इसी प्रकार, (?=XYZ)
उस स्थान पर मेल खाता है जो XYZ
के बाद होता है। साथ में वे दो एंकर बनाते हैं जो .*
अभिव्यक्ति को सीमित करते हैं, जो कुछ भी मेल खाता है।
आप re.findall()
साथ पाठ के सभी तरह के लंगर टुकड़े पा सकते हैं:
for matchedtext in re.findall(r'(?<=ABC).*?(?=XYZ)', inputtext):
तो ABC
और XYZ
चर रहे हैं, तो आप re.escape()
उपयोग करने के लिए (नियमित अभिव्यक्ति वाक्य रचना के रूप में व्याख्या किए जाने से उनकी सामग्री के किसी भी रोकने के लिए) चाहते हैं उन्हें और लगाना पर:
re.match(r'(?<={}).*?(?={})'.format(abc, xyz), inputtext)
स्रोत
2013-06-17 15:41:50
धन्यवाद बहुत @Martijin यह काम करता है: डी – sgp