次の文字列から情報を抽出しようとしています。
//YES: We got a match.
2 つのグループを定義する情報を抽出したい
//
との間のすべて:
- 残りはすべて後ろに
:
パターンは正しく一致しますが、グループを抽出できません。
String example = "//YES: We got a match.";
String COMMENT_PATTERN = "//(\\w+):(.*)";
Pattern pattern = Pattern.compile(COMMENT_PATTERN);
example.matches(COMMENT_PATTERN); // true
Matcher matcher = pattern.matcher(example);
matcher.group(1); // raises an exception
名前付きグループでも試しました:
String COMMENT_PATTERN = "//(?<init>\\w+):(?<rest>.*)";
...
matcher.group("init"); // raises an exception
パターンが指定されたグループを抽出できないのはなぜですか?