繁体   English   中英

使用char类时,Python上的正则表达式打印垃圾

[英]Regex on Python prints Garbage when use char class

Python 2.7

我正在处理utf-8编码的文件(希腊语),似乎regex存在一些问题。

当我不使用char类时,正则Regex似乎工作正常。 当我做 :

        text = re.sub('αυ','kk',text,flags=re.UNICODE)

一切正常,例如'αυτιά'将被转换为'kkτιά'。

但是,当我想使用char类时:

        text = re.sub('αυ[τ]','kk',text,flags=re.UNICODE)

显示无用字符,并将“αυτιά”转换为“ kkia”。 是编码问题还是我的regex 对不起,但是我对regex心态regex陌生。

谢谢!

传递unicode对象而不是字符串:

>>> print re.sub('αυ[τ]', 'kk', 'αυτιά', flags=re.UNICODE)
kk▒ιά
>>> print re.sub(u'αυ[τ]', u'kk', u'αυτιά', flags=re.UNICODE)
kkιά

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM