我需要找到模式与 Python 中的日期格式匹配的文件。有人可以帮我吗?我有一个正则表达式,但它没有按要求工作。
date = '2012-01-15'
match = re.findall(r'^(19|20)dd[- /.](0[1-9]|1[012])[- /.](0[1-9]|[12][0-9]|3[01])$', date)
print match
输出:
[('20', '01','15')]
似乎您刚刚错过了整个年份匹配周围的一对括号,您可能想用 ?:
来抑制世纪匹配:
match = re.findall(r'^((?:19|20)dd)[- /.](0[1-9]|1[012])[- /.](0[1-9]|[12][0-9]|3[01])$', date)
# ^ ^^ ^
这为您的示例提供了[('2012', '01', '15')]