2015-12-11 44 views
2

修改我的正則表達式需要在正則表達式

'\d{2}[-/.]\d{2}[-/.]\d{4}' # For dd-mm-yyyy or dd/mm/yyyy or dd.mm.yyyy. 

但是,它也從字符串拉出dd-mm.yyyydd/mm-yyyy。我需要嚴格匹配日期,即dd-mm-yyyydd/mm/yyyydd.mm.yyyy

+0

我只是用'|'來分隔所有3種格式,但我用正則表達式不太好:) –

回答

2

您可以使用此:

\d{2}([-/.])(\d{2}|[a-zA-Z]{3})\1\d{4} 

([-/.])將匹配-/.爲一組,並在\1這個表達式的任何地方都會參考該組匹配相同的文本。

查看演示here

+0

使用你的建議我嘗試寫這個正則表達式 - '\ d {1,2}([ 。])\ b \ w {3} \ b \ 1 \ d {2,4}'應該匹配'dd-mon-yyyy'(例如 - 2015年12月30日)。但它也匹配30-333-2015。有什麼方法可以驗證它嗎?還是應該通過編程來完成? –

+1

我已經更新了我的答案。 – 0605002