私はこの表現を持っています
\b[A-Za-z]+\b
を与えると、、、とabc@de mnop
一致しますが、のみ一致させたいです。どうやってやるの?abc
de
mnop
mnop
\b
単語の境界です。
だから、すなわち、を除いて何かをチェックする\b
のと似ています[^a-zA-Z0-9_]
\b
word
代わりに、この正規表現を使用できます
(?<=\s|^)[a-zA-Z]+(?=\s|$)
-------- --------- ------
| | |->match only if the pattern is followed by a space(\s) or end of string/line($)
| |->pattern
|->match only if the pattern is preceded by space(\s) or start of string\line(^)
\b
を意味し(?:(?<!\w)(?=\w)|(?<=\w)(?!\w))
ます。文字と。の間の位置に一致し@
ます。
あなたは書ける:
(?<!\S)[A-Za-z]+(?!\S)
(?!\S)
と同等(?=\s|$)
です。
Regex word boundary doen't match(\b) matching and whitespace
サンプルの白のみです
abc@de mnop
^
試す\s([A-Za-z]+)\b
アンカーはどこに\s
ありますか、境界ではありません