我正在寻找HTML页面内部的重复模式。
我的前缀“<H2>四季</H2 >”后,有意启动的模式
相同的模式前缀之前发生过,我不感兴趣的那些。如何在存在前缀时查找所有匹配项
我试图(和失败的)用下面的Python代码(I简化了图案为 '< A HREF = + < /一个>。?' 用于制备这个问题可读的缘故):
matches = re.compile('<h2>Seasons</h2>.+?(<a href=.+?</a>)+',re.DOTALL).findall(page)
for ref in matches
print ref
鉴于页:
blah blah html stuff
<h2>Seasons</h2>
blah blah more html stuff
<a href=http://www.111.com>111</a><a href=http://www.222.com>222</a><a href=http://www.333.com>333</a>
输出是
<a href=http://www.333.com>333</a>
所以它只打印最后一个匹配,另外两个不打印到findall列表。 我该如何做遍历组的所有匹配?
这可能是问题:http://www.regular-expressions.info/captureall.html – Cameron
为什么你想用的时候有许多伟大的HTML解析器将做的工作正则表达式解析HTML更好,更容易? –