0

我需要在 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')]
4

1 回答 1

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')]了你的例子

于 2013-04-04T14:45:33.237 回答