【发布时间】:2020-03-28 10:01:32
【问题描述】:
下面有两段代码,我想从中提取名称。
代码:
;"><strong>DeanSkyShadow</strong>
;"><strong><em>Xavier</em></strong>
正则表达式应该提取名称 DeanSkyShadow 和 Xavier。我当前的正则表达式:
(?<=(;"><strong><em>)|(;"><strong>))[\s\S]+?(?=(</em></strong>)|(</strong>))
如果代码中没有 em 标签,则正确抓取名称;如果有,那么它也会抓取开始的 em 标签,如下所示:<em>Xavier。我该如何解决?
【问题讨论】:
-
为什么在 HTML 解析器更适合的地方使用正则表达式?
-
好吧,因为我不知道什么是 HTML 解析器,你能解释一下吗?我使用 urllib2 首先读取特定页面的 html,然后使用正则表达式提取名称。