正则表达式匹配出生日的问题
来源: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
相似问题