Encodera

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.

Справочник Java

Matcher.group()

Возвращает текст найденного совпадения или его группы в скобках.

Доступно с: Java 1.4

Синтаксис

public String group(int group)

Параметры

ПараметрТипОписание
groupint / StringНомер группы (0 — всё совпадение, 1 — первая скобка) или имя группы. Без аргумента — всё совпадение.

Возвращаемое значение

StringТекст группы или null, если группа не участвовала в совпадении.

Примеры

Нумерованные группы — части даты:

void main() {
    Matcher m = Pattern.compile("(\\d{4})-(\\d{2})-(\\d{2})").matcher("Due: 2025-03-14");
    if (m.find()) {
        IO.println(m.group());
        IO.println(m.group(1));
        IO.println(m.group(2) + "/" + m.group(3));
    }
}

Результат:

2025-03-14
2025
03/14

Именованные группы (?<name>...) читаются понятнее:

void main() {
    Pattern p = Pattern.compile("(?<key>\\w+)=(?<value>\\w+)");
    Matcher m = p.matcher("host=localhost port=8080");
    while (m.find()) {
        IO.println(m.group("key") + " -> " + m.group("value"));
    }
}

Результат:

host -> localhost
port -> 8080

Примечания

group() можно вызывать только после успешного find() или matches(), иначе будет IllegalStateException: No match found. Группы нумеруются по открывающим скобкам слева направо. Скобки, которые нужны только для группировки, без захвата, пишут как (?:...).

См. также

  • Matcher.find() — Ищет следующее совпадение шаблона в любом месте строки.
  • Matcher.matches() — Проверяет, соответствует ли шаблону вся строка целиком.
  • String.replaceAll() — Заменяет все совпадения регулярного выражения.

В учебнике

  • Регулярные выражения — Регулярные выражения в Java: matches, replaceAll, split по шаблону, классы Pattern и Matcher, группы и экранирование обратной косой черты.

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.