Regex для регистра Pascal и ограничения символов [java]
Я пытаюсь создать регулярное выражение, которое будет проверять строку, которая состоит только из регистра Pascal и ограничена 10 символами.
То, что я получил до сих пор, основано на ответе Аликс Аксель на следующий вопрос: регулярное выражение, соответствующее случаю верблюда и паскаля
Итак, регулярное выражение, которое я использую для проверки случая Паскаля:
^[A-Z][a-z]+(?:[A-Z][a-z]+)*$
Но я не могу ограничить эту строку определенным количеством символов, я пробовал использовать квантификатор в нескольких местах, но я не могу заставить его работать так, как я ожидаю.
Например, я ожидаю, что следующее регулярное выражение подтвердит регистр Pascal и ограничит количество символов в строке до 5 символов
^[A-Z][a-z]+(?:[A-Z][a-z]+){0,4}$
Но он на самом деле проверяет регистр строки (символ верхнего регистра, за которым следуют символы нижнего регистра) 5 раз и не соответствует 6-му вхождению. Например, вышеупомянутое будет соответствовать RegexCanBeHardSometimes
строка, но не будет соответствовать RegexCanBeHardSomeTimes
строка