正则表达式匹配不超过特定数量的大写字符

时间:2015-01-14 10:35:20

标签: regex

如何创建正则表达式以检查字符串中是否有n个大写字母,例如

如果n=3

aAnnBccD#!
AAbbC

应匹配,而

AbCdeFgHiJ

应该失败。

请同样告知。

3 个答案:

答案 0 :(得分:2)

试试以下正则表达式:

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

答案 1 :(得分:2)

只需查看,例如lookahead

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

在包含{4}(超过3)... A-Z

的字符串中失败

see test at regex101

答案 2 :(得分:0)

这样的东西
^([^A-Z\n]*[A-Z][^A-Z\n]*){0,3}$

Regex Demo