Regex - немного слепой инструмент. Это действительно не понимает контекст. Для регулярного выражения [a-zA-Z] * все они действительны:
- Нью-Йорк
- корги
- Метательное
- яйцо
- Быстро
Это невероятно простое регулярное выражение, но обратите внимание, что оно вообще не различает имена, существительные, глаголы и прилагательные.
Если вы не жестко запрограммируете в строках действительное имя (по человеческим определениям), насколько я знаю, все регулярные выражения просто подберут любой набор символов, который соответствует тому, что вы написали. В этот момент вы можете сами составить список действительных имен.
Ваше регулярное выражение, как оно написано, будет соответствовать любой последовательности из двух-трех слов, каждое из которых начинается с заглавной буквы от A-Z, за которой следуют до тринадцати строчных букв от a-z. Только это описание не исключает такие вещи, как «Adfnwj Jsdako Mvdso», и, насколько мне известно, регулярное выражение не может сделать это просто.