正则表达式匹配出生日的问题
来源:3-4 正则表达式-3
amanionly
2018-01-03
import re
#line = "XXX出生于2001年6月1日"
#line = "XXX出生于2001/6/1"
#line = "XXX出生于2001-6-1"
#line = "XXX出生于2001-06-01"
line = "XXX出生于2001-06"
regex_str = ".*出生于(\d{4}[年/-]\d{1,2}([月/-]\d{1,2}|[月/-]$|$))"
match_obj = re.match(regex_str,line)
if match_obj:
print(match_obj.group(1))这样是可以匹配出来的
将 regex_str = ".*出生于(\d{4}[年/-]\d{1,2}([月/-]\d{1,2}|[月/-]$|$))"
中的[年/-]改成[年-/]就会报错,为啥阿?
写回答
1回答
-
因为正则表达式中[]内的-一般表示从一个值到另外一个值,比如[1-9]表示的是1到9之间的所有数字。
232018-01-04
相似问题