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を返します。