Python中正则表达式对中文的匹配

在一些工作中需要对中文进行正则匹配,若以字符串的形式匹配,是无法实现的。

所以必须将中文字符串转换成unicode编码,将正则表达式也转换成unicode编码,正则表达式和被匹配的文本使用同样的编码,这样匹配才能成功。

unicode中中文的编码为/u4e00-/u9fa5

例如:

import re
s = 'Python中正则表达式对中文的匹配'
temp = s.decode('utf-8')
reg = u"([/u4e00-/u9fa5]+)"
m = re.compile(reg).search(temp)
if m:
    print m.groups()

匹配后返回结果也是unicode编码

发表评论

电子邮件地址不会被公开。 必填项已用*标注