2012-02-12 54 views
0

我試圖寫驗證以下任何一種情況下,一個正則表達式的組合:正則表達式的數字模式

  1. 僅包含1號前:22
  2. 包含逗號分隔值例如:1,22, 28
  3. 包含使用連字符指定的範圍例如:5-9
  4. 包含以上所有的組合。

我開始使用正則表達式,但它不起作用。由於我是一個正則表達式noob,我試圖以最詳細的方式寫出來。

^[1-9]+|^[[[1-9]|[1-9\-1-9]],[[1-9]|[1-9\-1-9]]]+$ 

有人可以幫助我滿足所有條件的正則表達式。

回答

4

這應做到:

^[0-9]+(-[0-9]+)?(,[0-9]+(-[0-9]+)?)*$ 
+0

這就行了! Altho'我沒有提到我的問題,我需要驗證數字> 0.所以我只是在我的正則表達式中將0-9改爲1-9。謝謝! – user330973 2012-02-12 08:34:04