需要在用戶提交的字符串匹配日期 應該與這些不同格式正則表達式匹配日期
jan 1 2000
january 1 2000
jan. 1 2000
1/1/2000
2000
january
你會如何寫這個正則表達式的工作?
需要在用戶提交的字符串匹配日期 應該與這些不同格式正則表達式匹配日期
jan 1 2000
january 1 2000
jan. 1 2000
1/1/2000
2000
january
你會如何寫這個正則表達式的工作?
我不會用一個RegExp吧:
DateTime attempt;
if (DateTime.TryParse(inputDate, out attempt)
{
// You're good to go.
}
但是,這將與「月」的「日期」或「2000」的鬥爭。
我如何編寫一個匹配4位數字的正則表達式,該數字在1000-9999之間 – newU 2009-12-09 09:02:57
MBO在評論中打敗我問題 - 但是如果你接受1000年,爲什麼不是850?還是55BC? – 2009-12-09 09:11:27
你先看看DateTime.TryParse嗎?也許它會爲您節省使用正則表達式,除了可能的一些特殊情況。
即使這些是唯一允許的格式,也很難用正則表達式來完成,因爲它涉及檢查月份名稱是否有效,檢查日期是否對給定月份(4月31日等)有效,跳過年等。
按照其他人的建議使用DateTime類。
這是一個勝利或Web應用程序?如果對於Windows,只需使用DateTime.TryParse,但如果它是用於網頁,則使用JavaScript代替。
對於javascript請參閱this post
是否還有更多允許的格式? – Amarghosh 2009-12-09 08:50:34
最後兩個不是日期。一個是一年,第二個是一個月。對於這些,你將不得不編寫額外的邏輯來確定他們的解決方案。 – RichardOD 2009-12-09 08:55:40
我如何編寫一個正則表達式匹配1000-9999之間的4位數字 – newU 2009-12-09 09:02:18