有多少虛假的比賽,你會允許? Bozho already suggested模式
\d{4}-\d{1,2}-\d{1,2} \d{2}:\d{2}
但下列可疑情況相符:0000-1-1 00:00
(沒有一年零),2011-0-1 00:00
(沒有一個月零),2011-13-1 00:00
(沒有月13),2011-1-32 00:00
(有沒有月份的日子32)2011-12-31 24:00
(最多有一次閏秒)和2011-12-31 23:61
(最多隻有一次飛躍)。
你想解析的日期時間是差不多,但不完全,在ISO-8601 format。如果可以,請使用該國際標準格式。
在我的項目之一(使用grep
一個shell腳本),我用下面的正則表達式:
^20[0-9][0-9]-[01][0-9]-[0-3][0-9]T[0-9][0-9]:[0-9][0-9]:[0-9][0-9]UTC$
我有一個額外的T
和UTC
處理,僅在日期感興趣本世紀,並用秒精確解析。我發現在小時和分鐘值上我沒有那麼嚴格,可能是因爲傳統的C/C++轉換可以處理它們。
我猜因此,你可以使用類似以下內容:
\d{4}-[01]\d-[0-3]\d [0-2]\d:[0-6]\d
優秀。爲了使它更安全,可以在開始和結束時添加\ b。 – Ingo 2011-04-06 11:44:02