没有空格的任何字符的正则表达式

时间:2018-01-09 23:50:32

标签: c# regex

除了空格和最少6个字符之外的所有字符的正则表达式是什么。

这就是我现在所拥有的:

  

^ [\ W'@&安培;?#] {6,} $

但这并不接受所有特殊字符。我在.net应用程序中使用,如果这有任何区别

2 个答案:

答案 0 :(得分:3)

[^\s]{6,}$应该成功。但请注意上面的答案,如果您只想跳过空格,最好使用[^ ]。符号[^\s]将忽略任何空格字符(空格,制表符或换行符)。

答案 1 :(得分:0)

.NET正则表达式匹配任何不包含任何空白字符(至少6次出现)的字符串

\A\S{6,}\z

请参阅regex demo online

不要使用$因为it may match before a final \n (LF symbol) inside a string\z是最合适的锚点,因为它匹配字符串的 very end 。要使字符串与JS兼容(如果在ASP.NET中将其用于服务器端和客户端验证),则需要使用^\S{6,}$(?!\n)

\S shorthand character class匹配Unicode空白字符以外的任何字符(如果未使用ECMAScript选项)。

{6,} limiting quantifier匹配六次或更多次量​​化子模式。

<强>详情

  • \A - (一个明确的锚,它的行为不能用任何正则表达式选项重新定义)字符串的开头
  • \S{6,} - 除Unicode空白字符之外的任何6个或更多字符
  • \z - 字符串的最后一部分。