正则表达式在空白之间的最小长度

时间:2012-02-04 06:59:37

标签: c# regex

我在正则表达方面并不擅长,但我通常可以解决这个问题。这是我的问题:

我想检查字符串以查看它是否至少有10个字符,但我想忽略开头和结尾的空格。以下是我试图匹配的一些示例:

s = space

|...| = match

0123456789012345678901234567890123456789
----------------------------------------
|ABCDEFGHIJ|
sss|ABCDEFGHIJ|s
ssss|123s45s567|ssss
|ABCDEFGHIJKLMNOP|ssssss

我试图找到的正则表达式应该在上面的4个示例中返回true。第三个是我遇到问题的人。我无法忽略边界上的空白,同时仍然在它之间进行计数。

如果重要的话我会使用C#4.0。我必须使用正则表达式,我不能像string.Trim()那样做任何类似的操作。

1 个答案:

答案 0 :(得分:0)

^\s*[^\s].{8,}[^\s]\s*$做你想要的事。

可选空格,后跟非空白字符,后跟至少八个其他字符,后跟非空格,后跟可选空格。

关键是确保内部8个字符的两端都有非空格(当然,8 + 1 + 1 = ...)。