正则表达式,只能输入正整数或含有“-”的字符串,如1,2,3这种整数,或者1-1,1-2,2-1,10-55这种字符串

应该怎么写?

public class MatchesTest {
public static void main(String[] args) {
String regex = "([\\d]{1,}|[\\d]+[-][\\d]+)";//1或者2,规则
String[] str = { "1", "13", "1-2", "11-22", "33--22", "10-", "-10", "a4", "b-10","-A","A-D" };
for (String s : str) {
sop(s, regex);
}
}
private static void sop(String str, String regex) {
String src = str.matches(regex) ? "合法" : "非法";
System.out.println(str + ":\t" + src);
}
}

温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-05-09
reg = /^[0-9]*[-]*[0-9]*$/;