匹配中文的正则表达式是[\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"