正则表达式为未关闭的HTML标记

cor*_*ore 3 html regex

有人有正则表达式来匹配未关闭的HTML标记吗?例如,正则表达式将匹配<b>第二个<i>,但不匹配第一个<i>或第一个结束</i>标记:

<i><b>test<i>ing</i>
Run Code Online (Sandbox Code Playgroud)

这对正则表达式来说太复杂了吗?可能需要一些递归的程序化处理吗?

Pes*_*sto 6

我敢肯定一些正则表达式大师可以将一些近似于解决方案的东西拼凑在一起,但这是一个坏主意:HTML不规律.考虑一个能够识别此类问题的HTML解析器,或者自己解析它.

  • 太糟糕了SO没有API.我想象的是:`for(问题q:questionsTagged("regex","html")){q.addAnswer(新答案("HTML不常规,所以正则表达式几乎不是一个好的选择.") ;}` (3认同)
  • 当然,如果OP在问题中先发制人,那么你会看起来很傻,就像他在这里做的那样. (2认同)