我想匹配13/12/2015的(日,月,年獨立):正則表達式解析日期 - 使正則表達式更貪婪
ASTA n° 30 | 13/12/2015 ore 10.00 | Arte Moderna & Contemporanea
有了這個正則表達式(PHP - 的preg_match):
/(\d{1,2})\D{1,4}(\d{1,2})\D{1,4}(\d{4}|\d{2})/imu
我:
30 | 13/12
但我需要13/12/2015。 似乎正則表達式不夠貪婪......我知道我得到的匹配可能與我的正則表達式有關,但是我想在\ d {2}(在上一個圓括號中)選擇\ d {4}。
編輯:我需要\ d {2}和\ D {1,4}部分更靈活(有日期像13.10.15或13日12.2015等)。 有沒有辦法扭轉正則表達式引擎的處理順序(從頭到尾)?所以它會首先匹配\ d {4}然後\ d {2}(月和日)?
一般方法是使用正則表達式提取日期,而不檢查日期是否有效,然後使用正確的方法驗證它,它更可靠,尤其是正則表達式不會檢查許多方面29.02:P – mikus
是的,我知道;) 我檢查40種不同語言,30種不同的放置模式(如2015-20-10,2015年12月2日,2.3。和4.九月2015等) 我的規則嘗試提取一個日期,然後通過解析DateTime類進行驗證... – mfuesslin