正则表达式匹配结束HTML标记

kev*_*628 4 html python regex

我正在编写一个小的Python脚本来清理HTML文档.其工作原理是接受的标签列表保持,然后通过HTML代码解析捣毁不在我使用正则表达式做了列表的标签,我已经能够匹配打开标签和自闭的标签但不是关闭标签.

我一直在尝试匹配结束标签的模式是</(?!a)>.这对我来说似乎合乎逻辑,为什么不工作呢?本(?!a)应匹配任何不是一个锚定标记(不是"一"是可以anything--这只是一个例子).

编辑:AGG!我想正则表达式没有显示!

pav*_*imo 6

<TAG\b[^>]*>(.*?)</TAG> 
Run Code Online (Sandbox Code Playgroud)

匹配特定HTML标记的开始和结束对.

<([A-Z][A-Z0-9]*)\b[^>]*>(.*?)</\1>
Run Code Online (Sandbox Code Playgroud)

将匹配任何HTML标记的开始和结束对.

看到这里.

  • ...除非有相同类型的嵌套标签,例如`<div> <div> </ div> </ div>` - 然后,正则表达式会认为第一个`</ div>`是结束标记为第一个`<div>`.正如其他作者所指出的那样,_你不能使用正则表达式解析HTML或任何类似的语言. (7认同)
  • 谢谢pavanlimo,这个正则表达式<script [^>]*>(.*?)脚本>对我来说是完美的检测javascripts的开始和结束 (3认同)