我有这个代码:
import re
a = r'<b>1234</b><b>56text78</b><b>9012</b>'
print re.search(r'<b>.*?text.*?</b>', a).group()
我正在尝试匹配 <b>
之间的最小块和</b>
其中任何地方都包含“文本”。这段代码是我能想到的最好的代码,但它匹配:
<b>1234</b><b>56text78</b>
当我需要时:
<b>56text78</b>
最佳答案
而不是.*
使用这个
print re.search(r'<b>[^<]*text[^<]*</b>', a).group()
这里你说的是忽略“<”字符。
关于Python正则表达式非贪婪匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26001286/