正则表达式匹配超过2个空格但不是新行

时间:2011-04-10 06:20:21

标签: c# .net regex newline whitespace

我想在字符串中替换所有超过2个空格而不是新行,我有这个正则表达式:\s{2,}但它也匹配新行。

如何仅匹配2个或更多空格而不是新行?

我正在使用c#

2 个答案:

答案 0 :(得分:133)

将要匹配的空白字符放在字符类中。例如:

[ \t]{2,}

匹配2个或更多空格或制表符。

你也可以这样做:

[^\S\r\n]{2,}

匹配除\r\n之外的任何空白字符至少两次(请注意S中的大写\S[^\s]的缩写

答案 1 :(得分:0)

正则表达式仅定位两个空格: [] {2,} 正则表达式中的方括号是字符类。意思就是里面的字符。这里只是空间。以下花括号表示两次或多次。