Python正则表达式'not'用于识别<a></a>内的模式

-1 投票
1 回答
805 浏览
提问于 2025-04-16 21:26

我遇到了一个问题,想用Python的正则表达式来识别href标签中的某种模式。

我的目标是把所有出现的DSS[a-z]{2}[0-9]{2}替换成一个href链接,像下面这样,但不想替换在href标签内部出现的相同模式。

现在的正则表达式:

replaced = re.sub("[^http://*/s](DSS[a-z]{2}[0-9]{2})", "<a href=\"http://test.com=\\1\">\\1</a>", input)

我需要在我现有的正则表达式中添加这个新的正则表达式,并使用“或”操作符。

编辑:

我只是想用正则表达式做一个简单的操作。我想在HTML中任何地方替换这个模式的出现,除了在<a><\a>标签内部。

1 个回答

3

任何涉及正则表达式和HTML的问题,答案都在这里

在Python中,最好的HTML解析工具确实是Beautiful Soup

如果你还是想用正则表达式,可以试试负向前瞻,这样可以避免处理被"包围的内容。不过,这样做要自己承担风险。

撰写回答