RegEx:h1后跟h2,其间没有p

时间:2010-05-26 15:25:00

标签: html regex html-parsing negative-lookahead

我需要一个正则表达式来确定h1标签后面是否跟着h2标签,其间没有任何段落元素。我尝试使用否定前瞻,但它不起作用:

<h1(.+?)</h1>(\s|(?!<p))*<h2(.+?)</h2>

1 个答案:

答案 0 :(得分:1)

<h1((?!</h1).)*</h1>((?!<p).)*<h2

应该有用。

它只匹配一个h1代码,然后匹配任意数量的字符,直到下一个h2代码,但前提是没有找到p代码。

因为在这种情况下,嵌套标签不太可能出现,所以即使使用正则表达式,这也应该非常可靠。

您需要激活工具的/语言选项,以便点匹配换行符。用正则表达式作为(?s)的前缀可能足以实现此目的。