最小长度正则表达式

我正在尝试编写一个正则表达式来validation用户输入是否大于X个非空白字符。 我基本上试图过滤掉开始和结束空格,同时仍然确保输入大于X个字符; 字符可以是任何东西,只是不是空格(空格,制表符,返回,换行符)。 这是我一直在使用的正则表达式,但它不起作用:

\s.{10}.*\s 

我正在使用C#4.0(Asp.net正则表达式validation器),如果这很重要的话。

根本不使用正则表达式可能更容易:

 input.Where(c => !char.IsWhiteSpace(c)).Count() > 10 

如果空格不应该在中间,那么这将工作:

 (\s*(\S)\s*){10,} 

如果您不关心非空白字符之间的空格,则其他答案会涵盖该方案。

此正则表达式在第一个和最后一个非空白字符之间查找八个或更多字符,忽略前导和尾随空格:

 \s*\S.{8,}\S\s* 

如果您尝试检查(就像我的情况下包含8位数字的电话号码),您需要参考您需要的号码。

 (\s*(\S)\s*){7,}