Python 2.7
我正在处理 utf-8 编码文件(希腊语),并且 regex
似乎存在一些问题。
Regex
似乎工作正常。当我这样做时:
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ιά
关于python - Python 上的正则表达式在使用 char 类时打印垃圾,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27882701/