为什么这个正则表达式:
[^\s]+
...说这个字符串:
“用户的扩展程序”
不完全匹配?
答案 0 :(得分:7)
正则表达式只匹配不包含任何空格的字符串。您的匹配方法似乎将正则表达式应用于整个字符串,因此它失败。
[abc]
是一个字符类,意思是“a
,b
或c
”。
[^abc]
是该类的反转,表示“除a
,b
或c
之外的任何字符”。
\s
表示“任何空白字符”
[^\s]
(也可以写成\S
)表示“任何非空白字符”。
+
表示“前面一个或多个令牌。
答案 1 :(得分:2)
您的正则表达式只会将字符串与一个或多个非空格字符匹配。 "user's extension"
包含匹配的子字符串,但由于空格字符,它本身不匹配。