Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我需要一个正则表达式来确定 h1 标签后面是否跟着 h2 标签,中间没有任何段落元素。我尝试使用负前瞻,但它不起作用:
<h1(.+?)</h1>(\s|(?!<p))*<h2(.+?)</h2>
<h1((?!</h1).)*</h1>((?!<p).)*<h2
应该管用。
它只匹配一个h1标签,然后匹配任意数量的字符直到下一个h2标签,但p前提是一路上没有找到标签。
h1
h2
p
由于在这种情况下不太可能出现嵌套标签,因此即使使用正则表达式,这也应该非常可靠。
您需要激活工具/语言的选项以使点匹配换行符。为您的正则表达式添加前缀可能足以(?s)实现此目的。
(?s)