Javaの正規表現を使って数字かどうかを判断する方法は何ですか。

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+)?は、オプションのマイナス記号、その後に1つ以上の数字、そしてオプションで小数点と1つ以上の数字が続くことを表します。Pattern.compileメソッドを使用して正規表現パターンを作成し、そのパターンを文字列に適用するためにmatcherメソッドを使用します。最後に、matchesメソッドを使用して文字列がパターンと一致するかどうかを判断し、一致する場合はtrueを返し、そうでない場合はfalseを返します。

bannerAds