Ich habe eine Datei, die viele Zeilen einfachen utf-8-Textes enthält. Wie unten, nebenbei, es ist Chinesisch.
%Vor%Die Datei selbst wurde im UTF-8-Format gespeichert. Dateiname ist xx.txt
Hier ist mein Python-Code, env ist python2.7
%Vor%Das Problem ist, dass ich keine Ergebnisse habe.
Ich möchte die Dezimalzeichenfolge von 交易金额:0.01元
erhalten, hier ist 0.01
.
Warum funktioniert dieser Code nicht? Kann mir jemand das erklären, ich habe überhaupt keine Ahnung.
Es gibt mehrere Probleme mit Ihrem Code. Zuerst sollten Sie re.compile(ur'<unicode string>')
verwenden. Es ist auch schön, ein re.UNICODE-Flag hinzuzufügen (nicht sicher, ob es wirklich benötigt wird). Der Nächste ist, dass Sie immer noch keine Übereinstimmung erhalten, da \d+
keine Dezimalzahlen behandelt, sondern nur eine Reihe von Zahlen, Sie sollten stattdessen \d+\.?\d+
verwenden (Sie wollen eine Zahl, wahrscheinlich einen Punkt und eine Zahl). Beispielcode:
Tags und Links python regex utf-8 python-2.7