2013-02-19 77 views
0

我有以下的正則表達式:多最大長度在正則表達式

[0-9]{7}-[0-9]{1}$ 

我應該能夠符合以下模式:

1234567-8 
3142539-1 

但不是以下:

12345678-1 
1234567-12 

目前我的正則表達式匹配12345678-1,但不是1234567-12(在JavaScript中)。兩者都應該失敗。我究竟做錯了什麼?

+2

您沒有'^'模式可以在任何地方啓動。 – nneonneo 2013-02-19 08:06:01

+0

@nneonneo下一次,考慮寫一個答案,而不是評論:) – 2013-02-19 08:21:35

回答

2

你的模式將是結束($)任意字符串匹配[0-9]{7}-[0-9]{1},所以它會匹配輸入..

使用^(字符串的開始)來指定要匹配準確 ..

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

順便說一句:如果你想匹配從0到9的數字,你可以簡單地使用'\ d'而不是'[0-9]',所以你可以將正則表達式縮短爲:'^ \ d {7} - \ d $' – Simon 2013-02-19 09:21:08