Wie Konto für die Akzent-Zeichen für regulären Ausdruck in Python?

Derzeit nutze ich wieder.findall zu finden und zu isolieren, Wörter nach dem ' # ' - Zeichen für die hash-tags in einem string:

hashtags = re.findall(r'#([A-Za-z0-9_]+)', str1)

Er sucht str1 und sucht nach allen den hashtags. Dies funktioniert aber nicht Konto für akzentuierte Zeichen wie diese zum Beispiel: áéíóúñü¿.

Wenn eines dieser Zeichen in str1, wird es sparen Sie den hashtag bis die Buchstaben vor. So zum Beispiel #yogenfrüz wäre #yogenfr.

Ich muss in der Lage sein Konto für alle akzentuierte Buchstaben, die im Bereich von Deutsch, Niederländisch, Französisch und Spanisch, so dass ich sparen können hashtags wie #yogenfrüz

Wie kann ich über das tun dies

  • Verwenden re.UNICODE Flagge.
  • das UNICODE-flag wird nicht machen Sie den Bereich, die passen nicht-ASCII-Zeichen, keine. Wenn Sie sagen, regex übereinstimmen a-z ist, nimmt es die wörtliche Angebot, und nicht die menschliche Auslegung, die a und á irgendwie sind die gleiche Sache.
  • also, was wird es tun? 😉
  • siehe die Antworten unten.
Schreibe einen Kommentar