Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/363.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 检查数字是否大于1的正则表达式_Java_Validation_Dojo - Fatal编程技术网

Java 检查数字是否大于1的正则表达式

Java 检查数字是否大于1的正则表达式,java,validation,dojo,Java,Validation,Dojo,有人能帮我生成一个正则表达式来检查输入的数字是否大于1吗。这就是我尝试的:“[1-9][0-9]|[2-9]”但这不允许我输入超过2位的数字。我对这个很陌生。请帮帮我。你可以选择以下方式: 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");

有人能帮我生成一个正则表达式来检查输入的数字是否大于1吗。这就是我尝试的:“[1-9][0-9]|[2-9]”但这不允许我输入超过2位的数字。我对这个很陌生。请帮帮我。

你可以选择以下方式:

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,3,…,9-开头,并且可以有任意位数 之后,任何类型:
    [2-9][0-9]*
  • 数字可以以1开头,并且必须有以下数字:
    1[0-9]+

  • 将它们组合在一起可以得到正则表达式。

    您可以使用以下正则表达式来实现:
    [2-9]|([1-9][0-9]+)

    这意味着:一个介于2和9之间的单个数字,或者:一个介于1和9之间的数字后跟一个或多个数字


    正则表达式非常强大,有时人们试图将其用于一切。这通常是一个不需要正则表达式的示例。仅检查
    if(n>1)
    比使用正则表达式执行此任务更简单、更清晰。

    仅当数字大于1时才允许使用该数字

    "^(?:[1-9]\\d+|[2-9])$"
    

    最后一位数字必须大于
    1
    ,或者非
    0
    数字必须作为最后一位以外的数字出现。这方面的正则表达式是:

    "[2-9]|[1-9][0-9]+"
    

    这个看起来很简单:

    ^0*[1-9]\d*$
    

    当然,可以用正则表达式进行验证-但为什么?[0-9][2-9]应该这样做,但我同意amit的观点,这不是使用正则表达式应该做的事情。它实际上是使用dojo验证字段,我需要这个正则表达式。这将允许
    00
    @AvinashRaj您是对的,修复了。它显示了为什么
    如果(n>1)
    会更简单,更不容易出错…@nhahdh谢谢,在代码中输入了错误。(解释确实解释了这一点,但感谢您的反馈)。