我有这个表情
\b[A-Za-z]+\b
如果我给abc@de mnop,它匹配abc, deand mnop,但我希望它只匹配mnop。我怎样才能做到这一点?
\b是单词边界。
所以,\b类似于[^a-zA-Z0-9_]ie\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锚点在哪里,根本不是边界