求JAVA正则:小于50的整数,谢谢,最好能帮我解释下,初学正则

解决方案 »

  1.   

    String sourceString = new Integer(-51001).toString();
    String regex = "[1-4]?[0-9]|\\-[\\d]*[1-9]";
    if(sourceString.matches(regex)) System.out.println("correct!");
      

  2.   

    修改一下LS的
    String regex = "[1-4]?[0-9]|-[1-9]\\d*";
    [1-4]就是数字1-4的任意一个
    ?就是可有可无
    [0-9]就是数字0-9任意一个
    -就是负号-
    [1-9]就是数字1-9任意一个
    \\d*就是数字0-9没有或有多个
      

  3.   

    应该这样比较合理String sourceString = "-890";
    String regex = "^[1-4]?[\\d]$|^-[1-9][\\d]*$";
    if(sourceString.matches(regex)) System.out.println("correct!");