我想驗證一個字符串,它代表從打印對話框中可知的範圍列表,您可以在其中指明要打印的頁面。例子:正則表達式來匹配範圍和數字列表的混合列表
- 1-10
- 1,20
- 1-5,10
- 1-3,9-11
我想什麼,是不「完成」是無效的,如:
- 1-
- 1,
- ,3
- 1-4,
- 1,2,4-
正如您可以猜到 - 我沒有在它;)
任何幫助非常感謝
我想驗證一個字符串,它代表從打印對話框中可知的範圍列表,您可以在其中指明要打印的頁面。例子:正則表達式來匹配範圍和數字列表的混合列表
我想什麼,是不「完成」是無效的,如:
正如您可以猜到 - 我沒有在它;)
任何幫助非常感謝
您可以嘗試正則表達式(\d+(\-\d+)?(,(?!$))?)+
,如:
String str = "1-1,12";
System.out.println(str.matches("(\\d+(\\-\\d+)?(,(?!$))?)+"));
其中:
\d+
1個或多個位
(\\-\\d+)?
之後或-
和1個或多個位
(,(?!$))?
不與所有上述後跟或不 ''(但不作爲字符串的最後一個位置 - (?!$)
是字符串末尾的負向預讀)
+
說,以上都必須提交至少有一次
你可以添加一個你認爲是無效的字符串的例子嗎? 另外,你嘗試了什麼? – dounyy
我根據您的要求添加了一些無效的示例。 – dmeu