line = 'xxx出生于2001年6月' line1 = 'xxx出生于2001/6/1' line2 = 'xxx出生于2001-6-1' line3 = 'xxx出生于2001-06-01' line4 = 'xxx出生于2001-06' import re # 最后或方法用小括号(可有可无) pattern = '.*出生于(\d{4}[年/-]\d{1,2}([月/-]$|$|[月/-]\d{1,2}))' result = re.match(pattern, line4) print(result.group(1))