我有此表达正则表达式字边界( B)匹配和空白
\b[A-Za-z]+\b
如果我给 “ABC @德MNOP” 时,它匹配 “ABC”, “日” 和 “MNOP”。但我希望它只匹配“mnop”。我怎样才能做到这一点。
我有此表达正则表达式字边界( B)匹配和空白
\b[A-Za-z]+\b
如果我给 “ABC @德MNOP” 时,它匹配 “ABC”, “日” 和 “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(^)
+1的环顾。 – 2013-03-24 17:25:22
\b
意味着(?:(?<!\w)(?=\w)|(?<=\w)(?!\w))
。这将匹配字母和@
之间的位置。
你可以写:
(?<!\S)[A-Za-z]+(?!\S)
(?!\S)
相当于(?=\s|$)
。
您可以更具体地说明您想要匹配的内容,也许可以使用空格和标点符号作为分隔符而不是单词边界。 – 2013-03-24 17:23:27
你需要指定的语言/工具..正则表达式实施不同语言 – Anirudha 2013-03-24 17:34:58