Регулярное выражение для непересекающихся прописных букв со строчными
std:: string s("AAA");
std:: smatch m;
std:: regex e("(?=.{3,}[А-я])(?=.{0,}[a-z]).*");
output = std:: regex_search(s, m, e);
Здесь он должен иметь 3 или более заглавных букв и ноль или более строчных букв.
Однако выход равен нулю, что означает, что он терпит неудачу. Когда я пытаюсь заменить ноль на 1 и
s ("AAA4") он работает нормально.
Итак, теперь я хочу, чтобы он допускал ноль или больше, но кажется, что он не принимает ноль
Я даже попробовал Квантор ( * ), который эквивалентен {0,} все еще не работает.
Что я уже пробовал:
.
I also tried [A-Z]{3,}[a-z]* but this will allow: s("AAA") and s("AAAb") but now s("AbAA") as it will allow only if upper are consecutive.
Patrice T
Покажите нам примеры того, что должно соответствовать, а что нет.