python 2.7
我正在处理一个 utf-8 编码的文件(希腊语),似乎 regex 有一些问题。
Regex 在我不使用 char 类时似乎工作正常。当我这样做时:
text = re.sub('αυ','kk',text,flags=re.UNICODE)
一切正常,例如“αυτιì”将转换为“kkτιì”。
但是,当我想像这样使用 char 类时:
text = re.sub('αυ[τ]','kk',text,flags=re.UNICODE)
显示垃圾字符,'αυτιì' 被转换为 'kk�ia'。 是编码问题还是我的 regex 有问题?打扰一下,我对 regex 的心态还很陌生。
谢谢!
请您参考如下方法:
传递 unicode 对象而不是字符串:
>>> print re.sub('αυ[τ]', 'kk', 'αυτιά', flags=re.UNICODE)
kk▒ιά
>>> print re.sub(u'αυ[τ]', u'kk', u'αυτιά', flags=re.UNICODE)
kkιά
