今天遇到了python2.7 正则匹配中文乱码问题,很是崩溃,试了好多种方法,最终还是解决了,记录下
先说下我解决的方法
# coding=utf-8
import sys
# print sys.getdefaultencoding()
default_encoding = 'utf-8'
if sys.getdefaultencoding() != default_encoding:
reload(sys)
sys.setdefaultencoding(default_encoding)
# print sys.getdefaultencoding()
def toycase():
sentence = '开开心心找bug!'
pattern = u"开心([^。,,\(\)()::;;.]{1,20})bug"
matchObj = re.findall(pattern, question.decode('utf8'))
for match in matchObj:
print(match)
划重点, 开头加 “# coding=utf-8“ 一列, 下面一段默认编码utf-8; 然后re 内部处理这里,需要将代码处理成unicode,要和pattern编码格式一致才行
参考链接:
https://www.jb51.net/article/152272.htm