匹配中文的正则表达式是[\u4e00-\u9fa5]。
Python 2.7.x下,需要原字符串和正则表达式字符串都是unicode字符串,才能正确匹配到中文,这是容易忽略的地方。
Python 3.x下未试过。
import re a = u'Python正则表达式' m = re.search(u'[\u4e00-\u9fa5]+', a) print m.group(0) # “正则表达式” m = re.search('[\u4e00-\u9fa5]+', a) print m.group(0) # "P"