2017-06-17 233 views
1

我想要一個匹配今年的正則表達式,用連字符分隔。示例正則表達式來檢查字符串是否包含年份

1986-2004 
2001-2007 

基本上,它應該只允許每年4位數,而不是少於或多於那麼它應該用連字符分隔。

我試圖建立的比賽,直到1986-

^[0-9]{4}+[-]{1}+[0-9]*$ 

當我嘗試一些這樣的事

^[0-9]{4}+[-]{1}+[0-9]{4}*$ 

{4}在去年它給模式錯誤是什麼正則表達式。請幫助我如何在模式結尾添加{4}

回答

2

*表示「任意次數」,與{4}發生衝突,意思是「四次」。剛落*和你應該確定:

^[0-9]{4}+[-]{1}+[0-9]{4}$ 
+1

Thanks @Mureinik – FaisalAhmed

0

你去那裏:

^[0-9]{4}+[-]{1}+[0-9]{4}$ 

這裏是一個不錯的在線工具來驗證您的正則表達式:RegexPlanat

0

你的正則表達式允許接下來的幾年太:8970-9047,0120-0110,0000-0000。可能會更好地使用該模式,這將檢查邊界。例如,如下所示:

\b(18|20)\d{2}\b[-]\b(18|20)\d{2}\b 
相關問題