内的字符串我有一个HTML页面内一些线路是这样的:找到一个段落,找到这一段用正则表达式
<div>
<p class="match"> this sentence should match </p>
some text
<a class="a"> some text </a>
</div>
<div>
<p class="match"> this sentence shouldnt match</p>
some text
<a class ="b"> some text </a>
</div>
我想提取<p class="match">
里面的线,但只有当里面有div
含<a class="a">
。
什么,我这样做的远低于(我首先找到<a class="a">
里面的段落,我在迭代结果找到一个<p class="match">
里面的句子):
import re
file_to_r = open("a")
regex_div = re.compile(r'<div>.+"a".+?</div>', re.DOTALL)
regex_match = re.compile(r'<p class="match">(.+)</p>')
for m in regex_div.findall(file_to_r.read()):
print(regex_match.findall(m))
,但我不知道是否有另一种(仍然有效)的方式一次做到这一点?
尝试美丽汤4解析HTML文件.. – 2014-08-28 17:04:48
http://stackoverflow.com/a/1732454 – carloabelli 2014-08-28 17:04:54