3
我使用簡單的indx使用JS正則表達式。 他們說,%日期%變量是一樣的正則表達式JS註冊月份日期
(((J(anuary|uly|une))|February|(M(arch|ay))|(A(pril|ugust))|((Sept|Nov|Dec)ember)|October)|
(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec))[.,]{0,1}[\s]{0,1}[0-9]{1,2}[.,]{0,1}[\s]{0,1}(19|20|)\d\d|
(0[1-9]|[12][0-9]|3[01]|[1-9])(th|rd|st|nd){0,1}[\s]{0,1}(day\s){0,1}(of\s){0,1}(((J(anuary|uly|une))|February|
(M(arch|ay))|(A(pril|ugust))|((Sept|Nov|Dec)ember)|October)|(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec))[.,]{0,2}
[\s]{0,1}(19|20|)\d\d| (0[1-9]|1[012]|[1-9])[- /.](0[1-9]|[12][0-9]|3[01]|[1-9])[- /.](19|20|)\d\d|(0[1-9]|
[12][0-9]|3[01]|[1-9])[- /.](0[1-9]|1[012]|[1-9])[- /.](19|20|)\d\d|(19|20|)\d\d[- /.](0[1-9]|1[012]|[1-9])[-
/.](0[1-9]|[12][0-9]|3[01]|[1-9])
但是,這並不工作。 我需要把它捕獲的數字或數字與一個月名 日期,這是我到目前爲止,但似乎無法弄清楚如何我捕獲5 2012年5月
對於nummeric日期
(0[1-9]|1[012])[- /.](0[1-9]|[12][0-9]|3[01])[- /.](19|20)\d\d|(19|20)\d\d[- /.](0[1-9]|1[012])[- /.](0[1-9]|[12][0-9]|3[01])
月分名稱(但不完全。應該是即5 2012年5月)
(?<Month>((Jan(uary)?)|(Feb(ruary)?)|(Mar(ch)?)|(Apr(il)?)|(May)|(June?)|(July?)|(Aug(ust)?)|(Sep(t(ember)?)?)|(Oct(ober)?)|(Nov(ember)?)|(Dec(ember)?)))\s*[ ,-]\s*(?<Date>(([12][0-9])
任何人可以建議
你確定Regex是唯一的方法嗎? –
上次我在JS中編寫了一個日期解析器,我用我的正則表達式在月份中抽出了一個單詞,並使用了一個將月份名稱作爲返回月份編號的地圖的索引的地圖。我把這個月份的名字用規範形式(小寫)和全名和短名稱。 –
是的。該手冊僅說明js正則表達式。 (或變量,但不能這樣做,因爲它使用不同的語言) – user2397365