Ваш шаблон работает только для первой буквы в первом слове, потому что слово должно начинаться с заглавной буквы A-Z. Но после этого повторяющаяся группа начинается с \s[A-Za-z]
, что также соответствует строчной букве a-z.
Обратите внимание, что \s
также соответствует символу новой строки. Если вы этого не хотите, вы можете сопоставить пробел или табуляцию, используя класс символов [ \t]
Вы можете использовать совпадение, начинающееся с A-Z, и в повторной группе также начинать с совпадения A-Z. Если вы хотите сопоставить слова, вы можете использовать совпадение слова \w
^[A-Z]\w*(?:[\t ]+[A-Z]\w*)*$
Regex demo