python中正则表达式匹配中文,首先需要确保所有编码都为 unicode(python3已经默认都是unicode编码,所以就没有这个困扰,需要特别注意的是python2版本这部分的正则表达式)
汉字的范围为”\u4e00-\u9fa5“
>>> test="hello,张sir,最近过得怎么样?"
>>> re.findall('[\u4e00-\u9fa5]',test)#匹配中文
['张', '最', '近', '过', '得', '怎', '么', '样']
>>> re.findall('[^\u4e00-\u9fa5]',test)#匹配非中文
['h', 'e', 'l', 'l', 'o', ',', 's', 'i', 'r', ',', '?']