我一直在尋找最新的正則表達式了一段時間,但不是我whhenever拿出一個regeular表達似乎總有是一個問題。日期正則表達式似乎無法獲得強大的日期正規表現
表達低於
^(0?[1-9]|[12][0-9]|3[01])
在什麼日期的正則表達式看起來像在DDMMM格式的任何幫助嗎?
我一直在尋找最新的正則表達式了一段時間,但不是我whhenever拿出一個regeular表達似乎總有是一個問題。日期正則表達式似乎無法獲得強大的日期正規表現
表達低於
^(0?[1-9]|[12][0-9]|3[01])
在什麼日期的正則表達式看起來像在DDMMM格式的任何幫助嗎?
我從某處閱讀下面的示例。
比方說,我們想要以mm/dd/yy格式匹配日期,但我們希望讓用戶選擇日期分隔符。 快速解決方案是\d\d.\d\d.\d\d
。一開始似乎很好。
\d\d[- /.]\d\d[- /.]\d\d
是一個更好的解決方案。這個正則表達式允許使用短劃線,空格,點和正斜槓作爲日期分隔符。
這個正則表達式還很不完美。它匹配99/99/99作爲有效日期。
[0-1]\d[- /.][0-3]\d[- /.]\d\d
是領先一步,但它仍然會匹配19/39/99。
還有一個更好的,
[0-1][1-9][- /. ]?(0[1-9]|[12][0-9]|3[01])[- /.]?(18|19|20|21)\d\d$
我想出了這一點,這是很長,但它涵蓋了大部分的情況下,除閏年:
^((0?[1-9]|[12][0-8])[/.-](0[1-9]|1[0-2]))|((29|30)[/.-](0[13-9]|1[0-2]))|(31[/.-](0[13578]|1[02]))$
每月有28天(你需要檢查你的代碼中某種功能的閏年)。
(0?[1-9]|[12][0-8])
#天:01〜28
[/.-]
#分離
(0[1-9]|1[0-2])
#個月:1〜12
每個月除了月,有29天和30天:
(29|30)
#天:29或30
[/.-]
#separator
(0[13-9]|1[0-2])
#個月:1,和3〜12
只有一些個月有31天:(一月,三月,五月,七月,八月,十月和十二月)
31
#天:31
[/.-]
#隔板
(0[13578]|1[02])
#個月:01,03,05,07,08,10,12
'ddMMM'→'22Feb'? – 2012-02-22 09:29:43