我有一个CP1252编码的文本文件,我使用python regex匹配模式。例如,以下文本可以由正则表达式字符串'1\s*(\w*)\s*(<.*$)'
1 kAMpleksa <fs af='kAMpleksa,unk,,,,,,'>
但是当文本中包含特殊字符(如下文中带重音的“U”)时,正则表达式无法匹配。
1 aBiyukÙwa <fs af='aBiyuk,unk,,,,,,'>
我正在使用python的codecs
模块使用以下语法从文件中读取文本:
codecs.open('/home/abcl/TokenOutput.wx', 'r', 'cp1252')
任何想法,如何去做?
答案 0 :(得分:1)
这适用于我的两台机器,但我正在复制并粘贴文本,因此可能会发生一些无形的翻译。你试过设置unicode标志吗?如在
'(?u)1\s*(\w*)\s*(<.*$)'
或
re.match(r, t, flags=re.U).group()
答案 1 :(得分:0)
您忘记在标记中指定re.U
。