【发布时间】:2014-11-23 11:38:26
【问题描述】:
观看直播regex101
我的正则表达式模式是
[Nn]issan(?=[^<>]*<)(?!(?:(?!</?(?:a|span)[ >/])(?:.|\n))*</(?:a|span)>)
我想停止在 nissan word.view 以下截图中捕获 url。
我使用 re.sub(pattern, new_word, paragraph, flags=re.U|re.M) 函数将这个 Nissan 单词替换为 new_word。
【问题讨论】:
-
你想在这个锚标签
<a href="nissan.com">中匹配nissan -
不,我不匹配 href url 链接。我只想匹配不介于
<a href="Nissan.com">Nissan</a> or <span>Nissan</span>之间的 Nissan 单词。 -
@Veedrac 是正确的。更糟糕的是你试图在 python 中的 HTML 上使用正则表达式,而 python 拥有绝对令人惊叹的美丽汤库。制作这个 html 的汤然后删除所有锚和跨度标签将是微不足道的。然后返回遗骸中的任何匹配项。
-
不要使用正则表达式来解析 HTML。别。别。 (叹气)