有一个问题困扰了我很久。
在 Python 中,正则表达式总是匹配内容中最长的字符串。
例如内容如下:
<test> A <br> B <br>
如果我使用正则表达式 re.compile('/<test/>(\w\s)+/<br/>')
, python 匹配最长的字符串,这意味着 <test> A <br> B <br>
如何匹配最短的字符串 <test> A <br>
?
感谢您的阅读和回复。
最佳答案
你的正则表达式看起来很奇怪。我想你的意思是:
re.compile('/<test>[\w\s]+<br>/')
在这种情况下,您可以使用问号使其“非贪婪”:
re.compile('/<test>[\w\s]+?<br>/')
关于Python正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8471584/