0

Java で RegEx 文字列を検証しようとしていますが、正しく動作させることができません。検索を実行するときに、次の文字列「AB10XY」が常に textField に含まれていることを確認しようとしています。

AB と XY が textField に含まれているが、数値には含まれていないことを保証する次のコード行があります。

boolean checkChar = ((textField.getText().contains("AB")) && (textField.getText().contains("XY")));

私は次のようなものを好むだろう:

boolean checkChar = ((textField.getText().contains("AB[\\d]{2}XY")));
4

4 に答える 4

1

数字は常に 10 とは限らないと思うので、次のようなものを使用する必要があります。

boolean checkChar = textField.getText().matches(".*AB[\\d]{2}XY.*");
于 2013-05-15T11:53:03.393 に答える
1

この方法で試すことができます

boolean checkChar = ((textField.getText().matches(".*?AB[\\d]{2}XY.*")));
于 2013-05-15T11:52:24.293 に答える
0

Contains メソッドは正規表現をサポートしていません。matches メソッドを使用できます

 textField.getText().matches(".*AB\\d{2}XY.*");
于 2013-05-15T11:52:33.003 に答える
0

パッケージjava.util.regexを使用して正規表現を処理する

boolean checkChar = java.util.regex.Pattern.compile("AB[\\d]{2}XY")
        .matcher(textField.getText()).find();
于 2013-05-15T11:54:13.207 に答える