Regex 正则表达式不';不匹配
为何使用此正则表达式:Regex 正则表达式不';不匹配,regex,whitespace,string-matching,Regex,Whitespace,String Matching,为何使用此正则表达式: [^\s]+ …表示该字符串: “用户的扩展名” 这不完全吻合吗 正则表达式只匹配不包含任何空格的字符串。您的匹配方法似乎将正则表达式应用于整个字符串,因此它失败 [abc]是一个字符类,意思是“要么a,b要么c” [^abc]是该类的反义词,意思是“除a、b或c以外的任何字符”。 \s表示“任何空白字符”。 [^\s](也可以写成\s)表示“任何非空白字符”。 +表示“前面的一个或多个标记。您的正则表达式将仅与一个或多个非空白字符匹配字符串。“用户扩展名”包含匹配
[^\s]+
…表示该字符串:
“用户的扩展名”
这不完全吻合吗 正则表达式只匹配不包含任何空格的字符串。您的匹配方法似乎将正则表达式应用于整个字符串,因此它失败
[abc]
是一个字符类,意思是“要么a
,b
要么c
”[^abc]
是该类的反义词,意思是“除a
、b
或c
以外的任何字符”。\s
表示“任何空白字符”。[^\s]
(也可以写成\s
)表示“任何非空白字符”。+
表示“前面的一个或多个标记。您的正则表达式将仅与一个或多个非空白字符匹配字符串。“用户扩展名”
包含匹配的子字符串,但由于空格字符,它本身不是匹配项。请显示一些实际代码。[^\\s]
匹配一行的开头,后跟一个空格字符,1次或多次。唯一的问题是,一行中的字符串的开头不会出现多次。请尝试将^
移到[]
@huntermillen:不,^
表示“否定”“在字符类中。这与Qt有什么关系?实际上,它是完全匹配的。它符合正则表达式所说的。这不是你想要的吗?在Perl中,“用户扩展名”=~/[^\s]+/完全匹配。除了反斜杠被转义外,它将匹配空白。@jmoreno:不,双反斜杠仅用于字符串转义。@TimPietzcker:看看我的答案是如何显示的,我想我必须接受它(并删除我的答案)。