単語境界と比較した、正規表現(\ B)の非単語境界とは何ですか?
2 に答える
単語の境界(\b)は、以下に一致する可能性のあるゼロ幅の一致です。
- 単語文字(
\w)と非単語文字(\W)の間または - 単語文字と文字列の開始または終了の間。
Javascriptでは、\wis[A-Za-z0-9_]と\Wisの定義は他のものです。
の否定バージョンは\b、上記が当てはまらない\Bゼロ幅の一致です。したがって、一致する可能性があります。
- 2つの単語文字の間。
- 2つの非単語文字の間。
- 単語以外の文字と文字列の開始または終了の間。
- 空の文字列。
たとえば、文字列が次の場所で一致する"Hello, world!"場合:\b
H e l l o , w o r l d !
^ ^ ^ ^
そして、一致しない\B場所に一致します:\b
H e l l o , w o r l d !
^ ^ ^ ^ ^ ^ ^ ^ ^ ^
の基本的な目的はnon-word-boundary、次のような正規表現を作成することです。
word char(\w= )の最初/最後にいる場合は[a-zA-Z0-9_]、前/次の文字もword char、、例:
"a\B."〜"a\w":"ab"、、、 ...しかし"a4"、で"a_"はない"a "、"a."non-word char(\W= )の最初/最後にいる場合は[^a-zA-Z0-9_]、前/次の文字もnon-word char、、例:
"-\B."〜"-\W":"-."、、、 ...しかし"- "、で"--"はない"-a"、"-1"
これはword-boundary似ていますが、隣接する文字が同じクラス(word char/ non-word car)であることを確認する代わりに、異なる必要があるため、名前はword's boundaryです。