java验证字符串是否由数字组成(含有小数点以及负数)

public void StringIsNumber(){
    String str = "2.1";
    Pattern pattern = Pattern.compile("-?[0-9]*.?[0-9]*");
    Matcher matcher = pattern.matcher((CharSequence) str);
    boolean result = matcher.matches();
    if(result == true){
        System.out.print("数字");
    }else {
        System.out.print("不是数字");
    }
}

 

解释下正则表达式的内容:

X? X,一次或一次也没有
X* X,零次或多次

关于正则表达式的相关内容:

https://www.cnblogs.com/Lowp/archive/2012/09/22/2698574.html

关于java中JAVA正则表达式:Pattern类与Matcher类详解

https://www.cnblogs.com/ggjucheng/p/3423731.html

你可能感兴趣的:(java)