0

正規表現でグループをキャプチャしたいのですが、本来あるべきように記述していないようです。次の行を検討してください。

String input = "username=johndoe";
Pattern pattern = Pattern.compile("(\\w+)=(\\w+)");
Matcher matcher = pattern.matcher(input);

グループ 1 と 2 をキャプチャしようとすると、IllegalStateExcpetion が発生しました。正規表現の何が問題なのか本当にわかりません。また、いくつかの異なる書き方を試しました =/.

よろしくお願いします。

4

2 に答える 2

2

IllegalStateExcpetion次のいずれかを呼び出すのを忘れたため、取得しています。

matcher.matches()

また

matcher.find()

上記の 2 つのメソッドのいずれかを呼び出した後にのみ、キャプチャされたグループにアクセスできます。

于 2014-05-03T16:52:41.950 に答える