我正在处理一个小的Python脚本来清理HTML文档。它的工作方式是接受KEEP标签列表,然后通过不在列表中的HTML代码垃圾标签解析我一直使用正则表达式来执行此操作,并且我已经能够匹配开始标签和自闭合标签但没有关闭标签。我一直在试验匹配结束标签的模式是</(?!a)>
。这对我来说似乎合乎逻辑,所以为什么不工作? (?!a)
应该匹配任何不是锚定标记的东西(不是说“a”可以是任何东西 - 它只是一个示例)。正则表达式匹配关闭HTML标记
编辑:AGG!我猜这个正则表达式没有显示!
我正在处理一个小的Python脚本来清理HTML文档。它的工作方式是接受KEEP标签列表,然后通过不在列表中的HTML代码垃圾标签解析我一直使用正则表达式来执行此操作,并且我已经能够匹配开始标签和自闭合标签但没有关闭标签。我一直在试验匹配结束标签的模式是</(?!a)>
。这对我来说似乎合乎逻辑,所以为什么不工作? (?!a)
应该匹配任何不是锚定标记的东西(不是说“a”可以是任何东西 - 它只是一个示例)。正则表达式匹配关闭HTML标记
编辑:AGG!我猜这个正则表达式没有显示!
Don't use regex to parse HTML。它只会让你头疼。
改为使用XML解析器。尝试BeautifulSoup或lxml。
<TAG\b[^>]*>(.*?)</TAG>
匹配一个特定的HTML标签的打开和关闭一对。
<([A-Z][A-Z0-9]*)\b[^>]*>(.*?)</\1>
将匹配任何HTML标记的开始和结束对。
请参阅here。
...除非存在相同类型的嵌套标签,例如'
谢谢pavanlimo,这个正则表达式
[使用HTML :: Parser ||模具(http://stackoverflow.com/q/4231382/471272)。 :) – tchrist 2014-06-08 20:03:10