>>> words
'Does not match Äh Oh Äi Üs üx Öjjj'
>>> re.findall(r"(\b[A-ZÜÖÄ][a-z.-]+\b)", words, re.UNICODE)
['Does', 'Äh', 'Oh', 'Äi', 'Üs', 'Öjjj']
Просто добавьте в список все буквы Unicode, которые не находятся в диапазоне AZ, я добавил только немецкие умлауты.
Вы можете найти все буквы без буквы ASCII (AZ) следующим образом:
>>> [c for c in words if not c.isalpha() and not c.isdigit() and not c.isspace()]
['\xc3', '\x84', '\xc3', '\x84', '\xc3', '\x9c', '\xc3', '\xbc', '\xc3', '\x96']
Теперь вам нужно будет понять, какие столицы.