分隔的正則表達式的唯一的號碼,我想驗證一個逗號分隔的數字1-31唯一的(不重複)的列表。用逗號
即
- 2,4,6,7,1是有效的輸入。
- 2,2,6-無效
- 2是有效
- 2,是無效
- 1,2,3,4,15,6,7,31有效
- 1,2, 3,4,15,6,7,32無效
20,15,3
我試圖
^((([0]?[1-9])|([1-2][0-9])|(3[01]))(?!([0]?[1-9])|([1-2][0-9])|(3[01])*,\\1(?!([0]?[1-9])|([1-2][0-9])|(3[01]))
,但它接受重複號碼
你爲什麼不通過分隔符分裂號碼列表,然後在迭代的對象重複檢查? – ctwheels
你的名單有固定數量的數字,它不能超過? ,無論如何,我會建議你打破這個問題,而不是在1個正則表達式中完成:可能只有一個正則表達式來驗證逗號數字格式是否正確,然後在逗號上分割並通過循環來驗證數字是否是唯一的一個hashset –
這感覺就像分裂成一個列表,並在那裏做的行爲會更好,不是一個很好的使用正則表達式 – sniperd