<すべての文字を選択したいが、<preまたは正規表現を使用</preしてこのドキュメント内の
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
</head>
<body>
<pre>
if a < b
</pre>
</body>
</html>

<すべての文字を選択したいが、<preまたは正規表現を使用</preしてこのドキュメント内の
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
</head>
<body>
<pre>
if a < b
</pre>
</body>
</html>

それは正規表現エンジンに依存します。否定的な先読みアサーションを持つ Perl 正規表現をサポートしている場合は、次のことができます。
<(?!(pre)|(\/pre))
また
<(?!\/?pre)
group1(?!group2)group1は、「次の部分が一致しない場合にのみ一致する」ことを意味します (したがって、group2「否定先読み」という名前がgroup1付けられました。<group2\/?pre
[...]単一文字クラス専用です。
したがって[^(pre|/pre)]、これらの文字のいずれも含まれないことを意味します:(pre|/pre)
または、同等に、これらの文字のいずれも含まれないことを意味し)(|/pre
ます (括弧と(私が覚えている限り) では|何も意味しないため)。[]
次に、でオプションにする必要があると言った?ので、何も除外しません。
おそらく先読みが必要です:
\<(?!/?pre)
(?!...)次の文字が括弧内に指定されたパターンと一致しない場合に「一致」する否定的な先読みです。
/?preの簡略化ですpre|/pre。
これは、RegEx が HTML の最良のアイデアではない理由を示す素敵な例です。
いずれにせよ、無視することを選択した場合は、次の式を使用してください (HTML で有効な空白と大文字も処理されます)。
<(?!(\/?\s*[Pp][Rr][Ee]))