Regex to match more than 2 white spaces but not new line

Bruno picture Bruno · Apr 10, 2011 · Viewed 81.7k times · Source

I want to replace all more than 2 white spaces in a string but not new lines, I have this regex: \s{2,} but it is also matching new lines.

How can I match 2 or more white spaces only and not new lines?

I'm using c#

Answer

Bart Kiers picture Bart Kiers · Apr 10, 2011

Put the white space chars you want to match inside a character class. For example:

[ \t]{2,}

matches 2 or more spaces or tabs.

You could also do:

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

which matches any white-space char except \r and \n at least twice (note that the capital S in \S is short for [^\s]).