我有一个 CP1252 编码的文本文件,我在其中使用 python 正则表达式匹配模式。比如下面的文字可以用正则字符串'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')
任何想法,如何去做?
请您参考如下方法:
这适用于我的两台机器,但我正在复制和粘贴文本,因此可能会发生一些不可见的翻译。您是否尝试过设置 unicode 标志?如
'(?u)1\s*(\w*)\s*(<.*$)'
或
re.match(r, t, flags=re.U).group()
