日期正则表达式产生错误输出

时间:2012-05-08 04:30:10

标签: python

我需要在Python中找到模式与日期格式匹配的文件。有人可以帮我这个。我有一个正则表达式,但它没有按要求工作。

date = '2012-01-15'

match = re.findall(r'^(19|20)\d\d[- /.](0[1-9]|1[012])[- /.](0[1-9]|[12][0-9]|3[01])$', date)
print match

输出:

[('20', '01','15')]

1 个答案:

答案 0 :(得分:0)

好像你在全年比赛中错过了一对括号,你可能想要用?:来压制世纪比赛:

match = re.findall(r'^((?:19|20)\d\d)[- /.](0[1-9]|1[012])[- /.](0[1-9]|[12][0-9]|3[01])$', date)
#                     ^ ^^          ^

这会为您的示例提供[('2012', '01', '15')]