Skip to main content
 首页 » 编程设计

python之使用 CP1252 编码的文件的正则表达式

2025年05月04日23mengfanrong

我有一个 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()