我正在尝试创建一个if语句来检查字符串是否存在非法参数
String numbers;
try {
if (numbers.matches("0|1|2|3|4")) {
}
else {
throw new IllegalArgumentException();
}
}
...
有没有办法缩短正则表达式,例如“0-4”(哪些不起作用)?我已经阅读了一些关于正则表达式here的内容,但它主要是关于检查字符串的结构,而不是关于特定值。
编辑: 我正在寻找一个除了其中一个数字之外的正则表达式。
答案 0 :(得分:0)
您可以将其缩短为[0-4]
(方括号表示字符集):
numbers.matches("[0-4]")
这将分别匹配每个字符,并在包含其他字符的字符串中查找匹配项。
如果您想确保0到4之间只有一个数字,您可以使用:
numbers.matches("^[0-4]$")