Я бы написал ваше регулярное выражение в виде:
^[A-Z]\w*(?:\s+[A-Z]\w*)*$
Это говорит о том, что оно соответствует одному слову, начинающемуся с заглавной буквы, за которым следуют один или несколько пробелов и другое слово, начинающееся с заглавной буквы, эта величина равна нулю.или более раз.
Я формулирую соответствующее слово как начинающееся с [A-Z]
, за которым следует \w*
, что означает ноль или более символов слова.Это позволяет использовать такие вещи, как A
.
Демо
Редактировать:
Исходя из приведенных выше комментариев, если вы хотите, чтобы какой-то другой класс символов представлял то, что следует за начальной заглавной буквой, то вместо этого сделайте следующее:
^[A-Z][something]*(?:\s+[A-Z][something]*)*$
, где [something]
- ваш класс символов.