正则expression式:查找空格(制表符/空格),但不是换行符
我怎样才能有一个正则expression式testing空间或制表符,而不是换行符。 我试过了,但是发现它也testing了换行符。
我使用C#/ WPF,但它不应该。
 使用字符类: [ \t] 
试试这个字符集:
 [ \t] 
这只能匹配一个空格或制表符。
正如@EiríkrÚtlendi指出的那样,接受的解决scheme只考虑两个空格字符:水平制表符(U + 0009)和破坏空间(U + 0020)。 它不考虑其他空白字符,如不间断空格(恰好在我正在处理的文本中)。 维基百科上包含更完整的空白字符列表,并在链接的Perl答案中引用。 说明这些其他字符的简单C#解决scheme可以使用字符类减法来构build
 [\s-[\r\n]] 
或者,包括EiríkrÚtlendi的解决scheme,你会得到
 [\s\u3000-[\r\n]] 
  注意:对于那些处理CJK文本(中文,日文和韩文)的人来说,双字节空间(Unicode \u3000 ) 不包括在我迄今为止所尝试的任何实现中(Perl,.NET,PCRE,python)。 您需要首先对string进行规范化处理(例如,将\u3000全部\u3000为\u0020 ),否则除了您要定位的任何其他空白之外,还必须使用包含此代码点的字符集,例如[ \t\u3000] 。 
 如果你使用Perl或者PCRE,你可以select使用\h作为水平空格的简写,其中包括单字节空间,双字节空间和制表符等等。 请参阅匹配空格,但不要换行(Perl)线程以获取更多详细信息。 
但是,这个简写还没有被.NET和C#实现,就像我已经知道的那样。