2013-10-31 84 views
0

我想將數字與「 - 」字符匹配。正則表達式只能包含數字和「 - 」字符

例如:

123-456 - Valid 
1-2-3-4 - Valid 
223-213- - Invalid 
-3423-3 - Invalid 
ASD34-2 - Invalid 

心中已經測試了這一點:

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

但不能正常工作。

+1

「123 --- 46」會有效嗎?或者'34-'? E t.c. - 更具體的 –

+0

沒有。沒有重複的「 - 」字符。不,不能以「 - 」字符結尾。 –

回答

2

這應該在人數之內匹配多個-,不像其他答案:

^\d+(?:-\d+)*$ 
+0

沒有重複「 - 」字眼接受。 :) –

+0

編輯 - 應該現在修復。 (這在OP中並不清楚。) – pobrelkey

+0

是的!完成。謝謝 :) –

1

八九不離十不是?只有破折號的情況纔會通過。您可以使用\ d而不是[0-9]。

^\d(\d|-\d)*$ 

這一個表示至少一個數位在啓動,任選接着進行更多的數字或與它 這將不會匹配多個以下破折號像12的後面的至少一個位的破折號--- 34

相關問題