有人可以帮我生成一个正则表达式来检查输入的数字是否大于1.这就是我试过的:'[1-9] [0-9] | [2-9]'但是这不是允许我输入超过2位数。我很新。请帮助我..
答案 0 :(得分:1)
您可以选择以下内容:
regex = "([2-9][0-9]*|1[0-9]+)"
代码:
String regex = "([2-9][0-9]*|1[0-9]+)";
Matcher m = Pattern.compile(regex).matcher("");
m.reset("1");
System.out.println(m.matches());
m.reset("2");
System.out.println(m.matches());
m.reset("10");
System.out.println(m.matches());
m.reset("24");
System.out.println(m.matches());
m.reset("10842");
System.out.println(m.matches());
说明:
你基本上有两个选择
[2-9][0-9]*
1[0-9]+
组合它们可以获得正则表达式。
答案 1 :(得分:1)
您可以使用以下正则表达式执行此操作:[2-9]|([1-9][0-9]+)
这意味着:2到9之间的单个数字,或:1到9之间的数字,后跟一个或多个数字。
正则表达式非常强大,有时人们会尝试将它们用于所有内容。这通常是您不需要正则表达式的示例。只需检查if (n > 1)
比使用正则表达式执行此任务更简单,更清晰。
答案 2 :(得分:1)
答案 3 :(得分:0)
最后一个数字必须大于1
或非0
数字必须以最后一个数字以外的数字出现。这个正则表达式是:
"[2-9]|[1-9][0-9]+"
答案 4 :(得分:0)