正则表达式匹配不包含至少X个字符的字符串

时间:2013-12-20 15:38:41

标签: regex

我正在寻找一个正则表达式来匹配一个不包含至少三个字符的字符串[a-zA-Z]

Valid Strings: 
abc12345
asd
abc12321!!

Invalid Strings:
aa!
111!!!a
!!!!!!b

2 个答案:

答案 0 :(得分:2)

您可以检查以下正则表达式是否与字符串匹配:

[a-zA-Z]{3,}

如果不匹配则字符串无效。

基本上,正则表达式的{3,}部分表示前一个字符类应至少匹配三次。它非常灵活,您可以指定匹配所需的最小数量和最大次数,如下所示:{MIN,MAX}如果省略MIN或MAX,则仅使用指定的值(即{{1} }表示至少 3,而{3,}表示最多 3)

答案 1 :(得分:2)

我会用:

(?:[^a-zA-Z]*[a-zA-Z]){3,}[^a-zA-Z]*

您可以找到此正则表达式here的解释。

匹配:

abc12345
asd
abc12321!!
a85ug
83nj%@8n2

不匹配:

aa!
111!!!a
!!!!!!b
a59&*@g9