<tr>
notepad ++で、タグに一致する正規表現を作成しようとしました。最初は、鋭いブレースをエスケープする必要があると思ったので、試してみ\<tr\>
ました。ただし、これは予想どおり開始タグだけでなく、すべての<tr>
s (<tr>
との両方</tr>
) に一致しました。どうしてこれなの?
質問する
176 次
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 に答える