我想替换字符串中所有超过2个空格(但不是换行符),我有这个正则表达式:\s{2,}
,但它也匹配换行符。
如何只匹配2个或更多的空格而不是换行符?
我正在使用c#。
我想替换字符串中所有超过2个空格(但不是换行符),我有这个正则表达式:\s{2,}
,但它也匹配换行符。
如何只匹配2个或更多的空格而不是换行符?
我正在使用c#。
[ \t]{2,}
匹配两个或更多的空格或制表符。
你也可以这样做:
[^\S\r\n]{2,}
此正则表达式匹配任何至少两个空白字符,但不包括\r
和\n
(注意\S
中的大写字母S
代表[^\s]
)。
\s{2,}
会匹配其后的换行符呢?如果是\n\s{2,}
,我就能理解了。而且为什么在方括号中输入一个字面空格也能起作用呢? - Modular\s
匹配空格、制表符和换行符。“而且在方括号中键入一个文字空格为什么能够工作?”嗯,因为它确实可以。对此我也不知道该说些什么 :) - Bart Kiers[^\S\r\n]
\S
中的大写字母表示\s
的补集。[\t\f\cK ]
[\t ]