分页: 1 / 1
正则表达式非空字符\S与[^\s]区别
发表于 : 2011-04-29 1:41
由 shmily623
\S=[^\f\n\r\t\v]是非空字符。
\s是所有的空字符,[^a-z]匹配任何不在指定范围内的任意字符,那么是不是可以推出
[^\s]表示所有的非空字符?
测试了一下,这样是不对的
那么[^\s]到底是个什么东西呢?
Re: 正则表达式非空字符\S与[^\s]区别
发表于 : 2011-04-29 3:35
由 fnan
[^\s]就是非s字符。
Re: 正则表达式非空字符\S与[^\s]区别
发表于 : 2011-04-29 11:37
由 lilydjwg
shmily623 写了:
那么[^\s]到底是个什么东西呢?
你用的什么正则引擎?
Re: 正则表达式非空字符\S与[^\s]区别
发表于 : 2011-04-30 9:21
由 aerofox
在 gvim 中,输入一些乱七八糟的东西,有空格、数字、符号、TAB等,特别提一下,有字母 s,再用冒号命令:
再用查找命令分别查找 \S 和 [^\s],你就看到差别了。
Re: 正则表达式非空字符\S与[^\s]区别
发表于 : 2011-04-30 9:38
由 sevk
没有任何区别。写法不一样而已。
就像
/a+/ 和 /a{1,}/
/a*/ 和 /a{0,}/
Re: 正则表达式非空字符\S与[^\s]区别
发表于 : 2011-04-30 13:08
由 lilydjwg
aerofox 写了:在 gvim 中,输入一些乱七八糟的东西,有空格、数字、符号、TAB等,特别提一下,有字母 s,再用冒号命令:
[...]
再用查找命令分别查找 \S 和 [^\s],你就看到差别了。
Vim 不支持在 [] 中使用 \s 这种东西的。不过其它一些 pcre-like 的正则一般都支持。好像 POSIX 的也不支持吧。
Re: 正则表达式非空字符\S与[^\s]区别
发表于 : 2011-05-02 22:35
由 wk8910
在perl里面,后者是空格在开头
Re: 正则表达式非空字符\S与[^\s]区别
发表于 : 2011-05-03 9:29
由 eexpress
这没必要讨论,环境不同,可能不同的。