0

h1 タグの後に h2 タグが続き、その間に段落要素がないかどうかを確認するには、正規表現が必要です。否定先読みを使用しようとしましたが、うまくいきません:

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

1 に答える 1

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

動作するはずです。

1 つのタグに正確に一致h1し、次のタグまで任意の数の文字に一致しますが、途中でタグが見つからh2ない場合に限ります。p

このシナリオでは、ネストされたタグが発生する可能性はかなり低いため、正規表現を使用しても、これは非常に信頼できるはずです。

ドットが改行文字と一致するようにするには、ツール/言語のオプションを有効にする必要があります。これを実現するには、正規表現の前に を付けるだけで十分な場合があります(?s)

于 2010-05-26T15:30:55.403 に答える