2012-05-08 43 views
0

我需要找到模式與python中的日期格式相匹配的文件。有人能幫我解決這個問題嗎?我有一個reg expr,但它沒有按要求工作。 嘗試下面的腳本爲Python 2.2.1日期搜索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')] 
+0

你能解釋一下「不按要求工作」的含義嗎?另外,Python 2.2.1於2002年4月10日發佈。這真的很舊。 – Blender

+0

我知道這是真的老不能幫助:(但我需要正則表達式作爲日期格式爲20120323(yyyymmdd)。我需要比較它的文件名是yyyymmdd格式。你能幫助 – pauler

+0

這不是你的代碼嗎? – Blender

回答

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