私は初心者からJava正規表現です。私は非桁数の検証のために次のコードを書いた。非数字の数字を入力すると、falseを返すはずです。私にとって以下のコードは常にfalseを返します。ここで何が間違っていますか?java正規表現帰りfalse
パッケージregularexpression; Javaドキュメントから
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class NumberValidator {
private static final String NUMBER_PATTERN = "\\d";
Pattern pattern;
public NumberValidator() {
pattern = Pattern.compile(NUMBER_PATTERN);
}
public boolean validate(String line){
Matcher matcher = pattern.matcher(line);
return matcher.matches();
}
public static void main(String[] args) {
NumberValidator validator = new NumberValidator();
boolean validate = validator.validate("123");
System.out.println("validate:: "+validate);
}
}
あなたは本当にクラスが必要ですか? '' 123 ".matches(" \\ d + ")'では十分ではありませんか? – elias
Yaa ..本当にそういう線でも動作します。コードを簡素化してくれてありがとう。 – user414967