regex
unterstützt Unicode-Eigenschaften, was bedeutet, dass Sie \p{L}
damit verwenden können.
Wie Ignacio darauf hingewiesen hat, dass [a-zA-Z]
Unicode-Zeichen nicht entspricht und keine Zeichenklasse für alle Unicode-Zeichen vordefiniert ist, möchten Sie vielleicht etwas Ähnliches wie das Folgende verwenden, was einfach und unkompliziert wäre
Bitte beachten Sie, dass string.letters vom Gebietsschema abhängig ist, und wenn Sie das lokale nicht wechseln möchten, was Sie natürlich mit locale.setlocale(locale.LC_CTYPE, code)
tun können, sollte dies ein Kinderspiel sein.
Nicht sicher über Regex, aber für Unicode können Sie möglicherweise das uncodedata
-Modul verwenden; speziell die Funktion unicodedata.category()
AFAICT, es gibt keine Regex, die allen Buchstaben, nicht aber Ziffern oder Unterstrichen entspricht.
Sie könnten \w
verwenden und dann prüfen, ob die Übereinstimmungen Buchstaben sind, die die Codepunkt-Eigenschaften verwenden: