Наивный подход состоит в том, чтобы просто найти буквенные слова, что достигается с помощью [A-Za-z]+
Но как насчет городов, которые имеют несколько слов (Нью-Йорк): ([A-Za-z]+\s?)+
Нокак насчет городов, в которых есть аббревиатуры или притяжательные слова (Сент-Пол, Мартас-Винъярд): ([A-Za-z\.\']+\s?)+
Возможно, есть более чистые / более эффективные способы выполнения вышесказанного, поскольку я не мастер регулярных выражений, новажно помнить о некоторых очень вероятных альтернативах названиям городов.