正则表达式,允许0到3个大写字母

时间:2014-01-21 11:00:42

标签: regex expression uppercase

我需要RegExp来输入用户名,最多允许3个大写字母。

  

asdFasdFasdF - 传递

     

FFFasd - 传递

     

asdFFF - 传递

     

aFFsdF - 传递

     

asd - 传递

     

FFFF - 失败

     

asdFadsFFF - 失败

你得到我想要的东西。

请帮忙,因为我长期坚持这一点。

我试过这个(?=(.*?[A-Z]){0,3})但是失败了,也许我不需要前瞻。

2 个答案:

答案 0 :(得分:1)

使用锚定的负面展望:

^(?!(.*?[A-Z]){4}).*$

查看live demo

答案 1 :(得分:0)

仅限ASCII,请尝试:

^([^A-Z]*[A-Z]?[^A-Z]*){0,3}$

对于Unicode大写,请尝试:

^([^\p{Lu}]*\p{Lu}?[^\p{Lu}]*){0,3}$