Я ищу шаблон регулярного выражения, который может ограничивать совпадения в зависимости от максимального числа вхождений.
Например, сопоставьте буквенно-цифровую строку длиной 6-12 символов и содержит минимум 2 , но НЕ БОЛЬШЕ 4 , заглавные буквы, независимо от каждой из их позиций в строке.
Я пробовал этот шаблон, но он совпадает только в том случае, если заглавные буквы расположены рядом друг с другом.
^([A-Z]{2,4}).{8,12}$
Допустимые совпадения:
HamBurger (2 uppercase, Length = 9)
LeTtUce (3 uppercase, Length = 7)
TACOss (4 uppercase, Length = 6)
Но недопустимые совпадения будут:
ABCDE1234 (too many uppercase letters)
aBcDeFgHiJ (too many uppercase letters)
ADBC (length too short)
Заранее благодарим за любую помощь.