【发布时间】:2020-02-05 04:56:22
【问题描述】:
我想要在<b> 中包含关键字的标题之后的第一个列表<ul> 中获取文本,如下所示:
<b> anything </b>
<p> KEYWORD </p>
<b> anything </b>
<b> anything KEYWORD anything </b> #this is the title that I want
<some tag> anything <some tag>
<ul>
# this is the TEXT what I want
</ul>
我想要的是 RE 只考虑第三个 <b> 中的文本,但我写的 RE 得到第一个 <b>、<p> 的关键字和第二个 </b>。
那是我的回复:
re.search(r'<b>.*?(' + keyword + ').*?</b>.*?<ul>(.*?)</ul>')
谁能帮帮我?
【问题讨论】:
-
HTML 解析器不会更有效地解决这个问题吗?
-
@ObsidianAge 我也在使用 HTML 解析器,但在这部分我必须使用正则表达式。关于重复,这不完全是我的问题,在另一个解决方案中,他们没有考虑多个相等的标签,这正是我的问题。