0
的一條線,我忙airwars.org與智勝樞紐刮這個頁面,這是一個爛攤子。刮不同的日期格式的正則表達式
我想湊所有的日期,但他們格式不同:
- 2017年9月4日
- 九月五日至六日2017年
- 9月6日至七日2017年
- 9月8日/ 9th 2017
第一個是September \d+[a-z]+ 2017
但我如何在RegEx的一行中定位它們?
的一條線,我忙airwars.org與智勝樞紐刮這個頁面,這是一個爛攤子。刮不同的日期格式的正則表達式
我想湊所有的日期,但他們格式不同:
第一個是September \d+[a-z]+ 2017
但我如何在RegEx的一行中定位它們?
假設你只想匹配九月的日期,那麼你可以使用這樣的模式:
September \d+th.*?2017
但是,如果你想匹配所有的幾個月裏,那麼你可以使用
(?:January|...|December) \d+th.*?2017
請記住,使用.*?
將匹配字符串像September 4th something in 2017
,這取決於您的源數據的模式可能是錯誤的。
因此,對於特定的數據格式,你發佈你可以使用這個其它圖案:
September \d+th(?:\s?[–\/-]\s?\d+th)?\s*2017
我不能說這明確,因爲我很少寫原創正則表達式的表情,但我認爲你需要做一些字符串用編程語言解析來解決這個問題。例如,8日/ 9日是兩個不同的日子。我想你會需要分割該成日期的不同實例。 – ThisClark