我想替换字符串中所有超过2个空格,但不替换新行,我有这个正则表达式:\s{2,}
但是它也匹配新行。
如何仅匹配2个或更多空格而不匹配新行?
我正在使用C#
Answers:
将要匹配的空白字符放入字符类中。例如:
[ \t]{2,}
匹配2个或更多空格或制表符。
您也可以这样做:
[^\S\r\n]{2,}
匹配任何空格字符,除了\r
和\n
至少两次(请注意,S
in的大写\S
字母缩写[^\s]
)。
\s{2,}
抓住换行符呢?如果是的话,\n\s{2,}
我会明白的。为什么在方括号中输入文字空间有效?
\s
匹配空格,制表符和换行符。“为什么在括号中输入文字空间有效呢?”,嗯,因为它可以。不知道该说些什么:)