Python正则表达式'not'用于识别<a></a>内的模式
我遇到了一个问题,想用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。
如果你还是想用正则表达式,可以试试负向前瞻,这样可以避免处理被"
包围的内容。不过,这样做要自己承担风险。