5

私はこの表現を持っています

\b[A-Za-z]+\b

を与えると、、、とabc@de mnop一致しますが、のみ一致させたいです。どうやってやるの?abcdemnopmnop

4

3 に答える 3

14

\b単語の境界です。

だから、すなわち、を除いて何かをチェックする\bのと似ています[^a-zA-Z0-9_]\bword

代わりに、この正規表現を使用できます

(?<=\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(^)
于 2013-03-24T17:24:22.330 に答える
7

\bを意味し(?:(?<!\w)(?=\w)|(?<=\w)(?!\w))ます。文字と。の間の位置に一致し@ます。

あなたは書ける:

(?<!\S)[A-Za-z]+(?!\S)

(?!\S)と同等(?=\s|$)です。

于 2013-03-24T17:26:27.780 に答える
0

Regex word boundary doen't match(\b) matching and whitespace

サンプルの白のみです

abc@de mnop   
      ^

試す\s([A-Za-z]+)\b

アンカーはどこに\sありますか、境界ではありません

于 2020-05-09T19:31:33.367 に答える