<tr>notepad ++で、タグに一致する正規表現を作成しようとしました。最初は、鋭いブレースをエスケープする必要があると思ったので、試してみ\<tr\>ました。ただし、これは予想どおり開始タグだけでなく、すべての<tr>s (<tr>との両方</tr>) に一致しました。どうしてこれなの?
2 に答える
7
\<Notepad ++を含む特定の正規表現の実装では、「単語境界」を\>意味します。Notepad++のドキュメントから:
\<これは、Scintilla の単語の定義を使用して、単語の開始に一致します。
\>これは、Scintilla の単語の定義を使用して、単語の末尾に一致します。
単語境界は、非単語文字と単語文字の間のゼロ幅の一致です。シンティラの「単語文字」の定義は次のとおりです。
単語は、文字 A ~ Z a ~ 0 ~ 9 および _ で始まる文字列および/または文字列で終わる文字列として定義されます。Scintilla は、ユーザー設定によってこの定義を拡張します。単語の前および/または後には、言及されていない文字が必要です。
したがって、正規表現\<tr\>は実際には<(or /) との間の単語境界t、その後にtr、rとの間の単語境界に一致します>。
于 2013-09-06T13:46:56.553 に答える
3
- エスケープにはバックスラッシュが必要です。
\{ - エスケープする必要はありません (すべきではありません)
< or > - それらをエスケープした場合、それは単語の境界を意味するだけでなく
<tr>, </tr>、,tr,一致します
于 2013-09-06T13:41:40.860 に答える