我在正则表达方面并不擅长,但我通常可以解决这个问题。这是我的问题:
我想检查字符串以查看它是否至少有10个字符,但我想忽略开头和结尾的空格。以下是我试图匹配的一些示例:
s = space
|...| = match
0123456789012345678901234567890123456789
----------------------------------------
|ABCDEFGHIJ|
sss|ABCDEFGHIJ|s
ssss|123s45s567|ssss
|ABCDEFGHIJKLMNOP|ssssss
我试图找到的正则表达式应该在上面的4个示例中返回true。第三个是我遇到问题的人。我无法忽略边界上的空白,同时仍然在它之间进行计数。
如果重要的话我会使用C#4.0。我必须使用正则表达式,我不能像string.Trim()那样做任何类似的操作。
答案 0 :(得分:0)
^\s*[^\s].{8,}[^\s]\s*$
做你想要的事。
可选空格,后跟非空白字符,后跟至少八个其他字符,后跟非空格,后跟可选空格。
关键是确保内部8个字符的两端都有非空格(当然,8 + 1 + 1 = ...)。