正規表現(\ B)で単語境界以外の単語境界は何ですか?正規表現( B)の単語境界ではない単語境界は何ですか?
19
A
答えて
61
ワード境界(\b
)が一致することができ、ゼロ幅マッチである:
- 単語文字(
\w
)および非単語文字(\W
)との間又は ワードの文字間文字列の先頭または末尾。 JavaScriptで
\w
の定義は[A-Za-z0-9_]
あると\W
は何か他のものです。 \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 !
^^^^ ^^^^^ ^
2
基本的な目的non-word-boundary
の正規表現を作成することです:
我々は
word char
(\w
=[a-zA-Z0-9_]
)の先頭/末尾にある場合は、次/前の文字もword char
であることを確認し、例:
"a\B."
〜"a\w"
:"ab"
、"a4"
、"a_"
、..."a "
、"a."
の開始/終了の場合(
\W
=[^a-zA-Z0-9_]
)次/前の文字もnon-word char
であることを確認し、例えば:
"-\B."
〜"-\W"
:"-."
、"- "
、"--"
、...しかしない"-a"
、"-1"
word-boundary
については
それは似ていますが、代わりに隣接する文字は、彼らが異なるする必要があり、同じクラス(word char
/non-word car
)、その名のword's boundary
であることを確認するの。
関連する問題
- 1. 単語境界正規表現問題
いいです。私の経験では、*単語境界を説明することは*それらを使うことよりもかなり困難です。 –
私はこれまで単語境界のような明快な説明を見ていませんでした。偉大な者! – Salil