温馨提示×

怎么用java正则表达式判断是否是数字

小亿
214
2024-02-02 11:30:34
栏目: 编程语言

可以使用Java的正则表达式来判断一个字符串是否是数字。以下是一个示例代码:

import java.util.regex.Pattern;

public class Main {
    public static void main(String[] args) {
        String str1 = "12345"; // 数字
        String str2 = "12.34"; // 小数
        String str3 = "abc123"; // 包含字母
        String str4 = "12a34"; // 包含非数字字符

        System.out.println(isNumeric(str1)); // true
        System.out.println(isNumeric(str2)); // true
        System.out.println(isNumeric(str3)); // false
        System.out.println(isNumeric(str4)); // false
    }

    public static boolean isNumeric(String str) {
        Pattern pattern = Pattern.compile("-?\\d+(\\.\\d+)?"); // 数字的正则表达式
        return pattern.matcher(str).matches();
    }
}

上述代码中,isNumeric方法接受一个字符串参数,并使用正则表达式判断该字符串是否是数字。正则表达式-?\d+(\.\d+)?表示一个可选的负号,后面跟着一位或多位数字,然后可选地跟着一个小数点和一位或多位数字。使用Pattern.compile方法创建一个正则表达式的模式,然后使用matcher方法将该模式应用到字符串上。最后,使用matches方法判断字符串是否匹配模式,如果匹配返回true,否则返回false

0