Как сделать шаблон, который проверяет, что все первые буквы должны быть заглавными? - PullRequest
1 голос
/ 16 мая 2019

Мне нужен шаблон angular, который проверяет, будет ли первая буква каждого слова заглавной.Чтобы сделать что-то подобное, я использую этот шаблон

pattern ="^([A-Z][a-z]*((\\s[A-Za-z])?[a-z]*)*)$"

1 - работает только для первой буквы

2 - когда у меня, например, 2 не удается, я хочу проверить первую буквустрок.

Ответы [ 3 ]

0 голосов
/ 16 мая 2019

Вы можете попробовать использовать этот шаблон регулярных выражений:

^(\b[A-Z]\w*\s*)+$
0 голосов
/ 16 мая 2019

Ваш шаблон работает только для первой буквы в первом слове, потому что слово должно начинаться с заглавной буквы A-Z. Но после этого повторяющаяся группа начинается с \s[A-Za-z], что также соответствует строчной букве a-z.

Обратите внимание, что \s также соответствует символу новой строки. Если вы этого не хотите, вы можете сопоставить пробел или табуляцию, используя класс символов [ \t]

Вы можете использовать совпадение, начинающееся с A-Z, и в повторной группе также начинать с совпадения A-Z. Если вы хотите сопоставить слова, вы можете использовать совпадение слова \w

^[A-Z]\w*(?:[\t ]+[A-Z]\w*)*$

Regex demo

0 голосов
/ 16 мая 2019

Пожалуйста, попробуйте этот шаблон регулярных выражений:

/([A-Z][\w-]*(\s+[A-Z][\w-]*)+)/

На основе https://stackoverflow.com/a/4113070/8090014

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...