なぜ私はfalse
を2番目のものにしていますか?正規表現のパターンマッチングのためにfalseになる
正規表現:
入力 - "123.456.abc."
正規表現が試み - "[a-zA-Z_0-9]+\\.[a-zA-Z_0-9]+\\.[a-zA-Z_0-9]+\\."
出力 - true
正規表現tried- "[a-zA-Z_0-9]+\\.[a-zA-Z_0-9]+\\.[a-zA-Z_0-9]+\\.[a-zA-Z_0-9]"
出力 - false
public class TestRun {
public static void main(String[] args) {
Tester tester = new Tester();
tester.check("[a-zA-Z_0-9]+\\.[a-zA-Z_0-9]+\\.[a-zA-Z_0-9]+\\.");
}
}
class Tester {
public void check(String pattern){
Scanner scanner = new Scanner(System.in);
String testString = scanner.nextLine();
Pattern p = Pattern.compile(pattern);
Matcher m = p.matcher(testString);
boolean match = m.matches();
System.out.format("%s", match);
}
}
質問をする際に大きなオレンジ**書式設定**ボックスに注意し、投稿する前にプレビューを注意深く見てください。別のユーザーと私が作成した編集を参照してください。 –
あなたは前のものと同じように最後の文字クラスを繰り返す必要があります... –
'[a-zA-Z_0-9] +'は '[a-zA-Z_0-9] '。 –