正則表達式master需要!SimpleDateFormat RegEx格式
我有一個來自服務器的變量時間戳,我需要找到每次使用哪種格式。我嘗試過實現一個正則表達式格式,但他們不工作。我對於正則表達式模式相當陌生,但我仍然嘗試將它們用於自己,或者尋找一個特定的例子,但找不到,所以我問你。
來自服務器的格式可以是這樣的:
「2015年2月23日15時27分31秒UTC」
或
「2015-01-22T19:38:40Z 「
這裏找到格式代碼:
private static String getFormat(String time) {
String firstRegEx = "^\\d{4}-\\d{2}-\\d{2}\'T+\'\\d{2}:\\d{2}:\\d{2}\'Z\'$";
String secondRegEx = "^\\d{4}-\\d{2}-\\d{2}\\s\\d{2}:\\d{2}:\\d{2}\\s\\w{3}$";
if (time.toLowerCase().matches(firstRegEx)) {
return firstRegEx;
} else if (time.toLowerCase().matches(secondRegEx)) {
return secondRegEx;
}
return null;
}
燦你看看我的正則表達式並告訴我我做錯了什麼?
爲什麼你想用這個正則表達式?你爲什麼不試試用'SimpleDateFormat'解析字符串?例如,使用正則表達式來表達2月29日的體面驗證將非常困難。 – 2015-02-24 07:19:12
@JonSkeet完全同意你 – 2015-02-24 07:21:57
只檢查日期格式與正則表達式不會產生任何問題。但是使用正則表達式的日期驗證必定會造成一個主要問題。 – 2015-02-24 07:25:46