Im deutschen Text, Umlaute (ä, ö, ü) und Eszett (ß) sind regelmäßig Briefe, aber sie scheinen nicht von den \w
Sonderzeichen gedeckt werden:Wie werden Umlaute mit regulären Ausdrücken verglichen?
In [1]: re.match('(\w+)', 'Straße').groups()
Out[1]: ('Stra',)
Vorbei an die re.UNICODE
Flagge re.match
ändert nichts.
Gibt es eine bessere Möglichkeit, ein vollständiges Wort als mit [a-zA-ZäüöÄÜÖß]+
zu vergleichen?
Ist es Python 2 oder 3? –
@ WiktorStribiżew 2 – elpres
Ich kann nicht repro: siehe ['re.match (ur '(\ w +)', uStraße ', flags = re.U) .group (1) .encode (" utf8 ")'] (https://ideone.com/R1xTej), druckt 'Straße'. Vielleicht haben Sie einfach "u" "Präfixe verpasst? '\ w' deckt alle Unicode-Buchstaben ab, wenn Sie das' re.U'-Flag übergeben. –