Java正規表現で数値を判定する方法
文字列が数字かどうかは正規表現で判定できます。以下は正規表現で数字を判定するサンプルコードです。
import java.util.regex.Pattern;
public class Main {
public static void main(String[] args) {
String str1 = "12345";
String str2 = "12.345";
String str3 = "-123";
String str4 = "abc123";
System.out.println(isNumeric(str1)); // 输出: true
System.out.println(isNumeric(str2)); // 输出: true
System.out.println(isNumeric(str3)); // 输出: true
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.matcher(str).matches()メソッドを呼び出して、文字列が正規表現と一致するかどうかを判定し、一致した場合はtrue、一致しない場合はfalseを返します。