在python2.x中,匹配中文,首先要聲明utf8的編碼方式。
# coding:utf-8
其次,被匹配的字符串一定要是utf8編碼:
string = u'我是個好人。'
最后,正則表達式一定要是utf8編碼:
pat = u'\u6211.*?\u3002'
注意,正則表達式要是u開頭的utf8編碼,而不是r開頭的原始字符串。
完整示例:
# coding:utf-8 import re string = u'我是個好人。' pattern = u'\u6211.*?\u3002' pat = re.compile(pattern) print pat.findall(s)[0] >> 我是個好人。