write down,forget

python正则的中文处理

<Category: Python> 查看评论

匹配中文时,正则表达式规则和目标字串的编码格式必须相同

UnicodeDecodeError: ‘ascii’ codec can’t decode byte 0xe4 in position 18: ordinal not in range(128)

print text报错
解释:控制台信息输出窗口是按照ascii编码输出的(英文系统的默认编码是ascii),而上面代码中的字符串是Unicode编码的,所以输出时产生了错误。
改成 print(word.encode(‘’))即可

//确定系统默认编码
import sys
print sys.getdefaultencoding()
//’ascii’

//判断字符类型是否unicode
print isinstance(text,)
//True

unicode\python字符互转

正则获取No-ascii

内容:
“#who#helloworld#a中文x#”

正则:
r”[\x80-\xff]+”

输出:
中文

输出

几个主要非英文语系字符范围

REF:http://www.blogjava.net/Skynet/archive/2009/05/02/268628.html
http://iregex.org/blog/-chinese-unicode-regular-expressions.html

本文来自: python正则的中文处理