java正则表达式数字,java正则判断全为数字有哪些方法?

TheDisguiser 2020-08-16 09:44:00 java常见问答 8039

题目;使用正则表达式要怎么判断一个元素集里全为数字?下面听小编来讲讲其中门道。

方法一:

public class Test
{
    public static boolean checkNumber(double value)
    {
        String str = String.valueOf(value);
        String regex = "^(-?[1-9]\\d*\\.?\\d*)|(-?0\\.\\d*[1-9])|(-?[0])|(-?[0]\\.\\d*)$";
        return str.matches(regex);
    }
    public static boolean checkNumber(int value)
    {
        String str = String.valueOf(value);
        String regex = "^(-?[1-9]\\d*\\.?\\d*)|(-?0\\.\\d*[1-9])|(-?[0])|(-?[0]\\.\\d*)$";
        return str.matches(regex);
    }
    public static boolean checkNumber(String value)
    {
        String regex = "^(-?[1-9]\\d*\\.?\\d*)|(-?0\\.\\d*[1-9])|(-?[0])|(-?[0]\\.\\d*)$";
        return value.matches(regex);
    }
    public static void main(String[] args)
    {
        System.out.println(checkNumber(0)); // true
        System.out.println(checkNumber(-0)); // true
        System.out.println(checkNumber(23)); // true
        System.out.println(checkNumber(-23)); // true
        System.out.println(checkNumber(0.0)); // true
        System.out.println(checkNumber(-0.0)); // true
        System.out.println(checkNumber(23.01)); // true
        System.out.println(checkNumber(-23.01)); // true
        System.out.println(checkNumber("-10.01.01")); // false
        System.out.println(checkNumber("A 1 10")); // false
    }
}

方法二:

    public boolean isNumeric(String str)
    {
        //Pattern pattern = Pattern.compile("^-?[0-9]+"); //这个可以
        Pattern pattern = Pattern.compile("^-?\\d+(\\.\\d+)?$"); //这个也行
        Matcher isNum = pattern.matcher(str);
        if (!isNum.matches())
        {
            return false;
        }
        return true;
    }
 System.out.println(new Test()
     .isNumeric("sd21")); //false
 System.out.println(new Test()
     .isNumeric("2113 23")); //false
 System.out.println(new Test()
     .isNumeric("")); //false
 System.out.println(new Test()
     .isNumeric("12#12")); //false
 System.out.println(new Test()
     .isNumeric("-11212")); //true
 System.out.println(new Test()
     .isNumeric("11212")); //true
 System.out.println(new Test()
     .isNumeric("11212SDS")); //false

以上就是今天的全部内容,一般java基础的常见问题就是如此了,如果还有其他不懂常见问题敬请关注奇Q工具网了解详情吧。

推荐阅读:

java正则表达式语法大全解析

java正则表达式实例详解

java正则表达式用法,正则表达式的使用解析