在正则表达式中匹配此html元素? (没有懒人匹配!)

时间:2011-01-25 13:14:43

标签: html regex

我想匹配标签之间的所有内容。

这是什么样的正则表达式?

有点像

  <tr[^>]*>.*?</tr> 

但我不想使用懒惰评估。

我希望像上面的正则表达式匹配每一对,但不使用延迟评估。

1 个答案:

答案 0 :(得分:2)

您可以使用负向前瞻(如果您的口味支持),而不是懒惰地匹配。您的示例将转换为

 <tr[^>]*>((?!</tr>).)*</tr>  

当然,您实际上不应该使用正则表达式来解析HTML,因为您可能已经从对问题的评论中猜到了。 =)这些表达式在嵌套标签,注释和javascript上可能会失败。