我有这个html标记:
x=""" <div>ad</div> \n\n <div> correct value </div> <div> wrong value </div> """
我想得到corret value
所以我搜索单词ad
,然后搜索</div>
,然后搜索任何一个直到另一个<div>
,然后得到直到</div>
的所有值
我使用这个代码:
^{pr2}$我使用falgre.S是因为我想让点也匹配新行。我不知道两人之间有多少线。所以我用。*!在
我认为findall应该返回correct value
,但是它返回wrong value
。为什么?它搜索最后一个div而不是第一个?在
如果您想在} :
2
特殊字符串之间查找内容,请使用^{你可以试试这个好吧。看到了吗演示。在
http://regex101.com/r/zY9xA3/3
因为你所拥有的是贪婪的
尝试懒惰:
在您的示例中,
.*
实际上是在最后匹配所有内容,然后它看到<div>
,然后您的regex会重新跟踪并重新开始匹配,类似的是第二个场景此处演示:
http://regex101.com/r/zY9xA3/1
相关问题 更多 >
编程相关推荐