我正在寻找 HTML 页面中的重复模式。
我感兴趣的模式在前缀“<h2>Seasons</h2>”之后开始
。同样的模式也出现在前缀之前,我对那些不感兴趣。
我尝试(但失败了)以下 python 代码(为了使这个问题易于阅读,我将模式简化为 '<a href=.+?</a>'):
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 列表。如何遍历组的所有匹配项?