wyrażenie regularne python z problemem utf8
Dostałem plik zawierający wiele wierszy zwykłego tekstu utf-8. Tak jak poniżej, to jest chiński.
<code>PROCESS:类型:关爱积分[NOTIFY] 交易号:2012022900000109 订单号:W12022910079166 交易金额:0.01元 交易状态:true 2012-2-29 10:13:08 </code>
Sam plik został zapisany w formacie utf-8. nazwa pliku to xx.txt
tutaj jest mój kod Pythona, env to python2.7
<code>#coding: utf-8 import re pattern = re.compile(r'交易金额:(\d+)元') for line in open('xx.txt'): match = pattern.match(line.decode('utf-8')) if match: print match.group() </code>
Problemem jest tutaj brak wyników.
Chcę uzyskać ciąg dziesiętny交易金额:0.01元
, tutaj, który jest0.01
.
Dlaczego ten kod nie działa? Czy ktoś może mi to wyjaśnić, nie mam pojęcia.