2017-06-11 9 views
-4

Pattern.matches( "[A(BC)]"、 "BC")なぜfalseを返すのですか?Java Pattern.matches

+1

私は正規表現があなたが思っていることをしないと確信しています。 [正規表現の学習](https://stackoverflow.com/questions/4736/learning-regular-expressions)をお読みください。 –

答えて

2

パターンがクラスA(BC)から単一の文字を見ることを期待し、matchesは正規表現に対して入力全体にマッチするので(部分一致検索しません)。入力は2文字であるため、一致しません。

+0

CirceブラケットはBCを「単一文字」にグループ化しませんか? – lukhol

+1

@lukhol:いいえ '('と ')'は文字クラス( '[...]')内で特別な意味を持ちません。 * 1の外側*はキャプチャグループを形成しますが、 'B'または' C'のどちらでもない 'BC'をキャプチャするキャプチャグループです。あなたの現在のタスクから戻り、いくつかの基本的なJava正規表現チュートリアルを実行することをお勧めします。 –

関連する問題