Wie berücksichtigt man Akzentzeichen für Regex in Python?

8

Ich verwende derzeit re.findall, um Wörter nach dem '#' - Zeichen für Hash-Tags in einer Zeichenfolge zu suchen und zu isolieren:

%Vor%

Sucht str1 und findet alle Hashtags. Dies funktioniert jedoch nicht so akzentuierte Zeichen wie diese: áéíóúñü¿ .

Wenn sich einer dieser Buchstaben in str1 befindet, speichert er den Hashtag bis zu dem Buchstaben davor. So wäre zum Beispiel #yogenfrüz #yogenfr .

Ich muss alle akzentuierten Buchstaben, die von Deutsch, Niederländisch, Französisch und Spanisch reichen, berücksichtigen, damit ich Hashtags wie #yogenfrüz

speichern kann

Wie kann ich das machen?

    
noahandthewhale 06.09.2013, 17:48
quelle

2 Antworten

21

Versuchen Sie Folgendes:

%Vor%

Regex101 Demo

BEARBEITEN Überprüfen Sie den nützlichen Kommentar von Martijn Pieters.

    
Ibrahim Najjar 06.09.2013, 17:52
quelle
2

Vielleicht möchten Sie auch

verwenden %Vor%

Wie konvertiere ich all diese Escape-Zeichen in ihre jeweiligen Zeichen, als ob es einen Unicode à, wie konvertiere ich das in einen Standard-a? Nehmen wir an, Sie haben Ihren Unicode in eine Variable namens my_unicode geladen ... normalisieren à in a is this simple ...

importieren Unicode-Daten output = unicodedata.normalize ('NFD', my_unicode) .encode ('ascii', 'ignore') Explizites Beispiel ...

%Vor%

Überprüfen Sie diese Antwort, es hat mir sehr geholfen: Wie Unicode akzentuierte Zeichen in reine Ascii ohne Akzente konvertieren?

    
Berk 12.02.2017 19:41
quelle