我有这个正则表达式。它应该匹配所有一个角色,以及所有一个角色和一个空格。
例如:
wwwwwwww - MATCH
www wwwwww - MATCH
@@@@@ - MATCH
wwwwqq - NOT MATCH
wwww qqqq - NOT MATCH
但它与以下内容不匹配:
@@@@@@@
.......
它出了什么问题?它在下面:
var match = Regex.Match(message, @"^\s*(\w)(?:\1|\s)*$");
答案 0 :(得分:3)
因为@
和.
不是“单词字符”。你能不能与(.)
匹配?
var match = Regex.Match(message, @"^\s*(.)(?:\1|\s)*$");
您也可以尝试\S
(非空白字符)。
答案 1 :(得分:1)
\w
是“单词字符”的简写,不包括@
或.
等标点符号。
Dot(.
)表示任何角色; \S
表示非空格。