Spec-Zone.ru › OpenJDK 25

Интерфейс MatchResult

Все известные реализующие классы:
Matcher
public interface MatchResult
Результат операции сопоставления.

Этот интерфейс содержит методы запросов, используемые для определения результатов сопоставления с регулярным выражением. Границы совпадения, группы и границы групп можно просматривать, но нельзя изменять с помощью MatchResult.

Примечание по реализации:
Поддержка именованных групп реализована методами по умолчанию start(String), end(String) и group(String). Все они используют карту, возвращаемую методом namedGroups(), реализация которого по умолчанию просто выбрасывает исключение UnsupportedOperationException. Поэтому для работы этих методов достаточно переопределить namedGroups(). Однако для повышения производительности или по другим причинам может быть предпочтительнее переопределить их напрямую.
С момента версии:
1.5
См. также:
  • Matcher

Краткое описание методов

Модификатор и тип Метод Описание
int end()
Возвращает смещение после последнего совпавшего символа.
int end(int group)
Возвращает смещение после последнего символа подпоследовательности, захваченной указанной группой при этом сопоставлении.
default int end(String name)
Возвращает смещение после последнего символа подпоследовательности, захваченной указанной именованной захватывающей группой во время предыдущей операции сопоставления.
String group()
Возвращает подпоследовательность входных данных, совпавшую при предыдущем сопоставлении.
String group(int group)
Возвращает подпоследовательность входных данных, захваченную указанной группой во время предыдущей операции сопоставления.
default String group(String name)
Возвращает подпоследовательность входных данных, захваченную указанной именованной захватывающей группой во время предыдущей операции сопоставления.
int groupCount()
Возвращает количество захватывающих групп в шаблоне этого результата сопоставления.
default boolean hasMatch()
Возвращает, содержит ли this действительное совпадение, полученное в результате предыдущей операции сопоставления или поиска.
default Map<String,Integer> namedGroups()
Возвращает неизменяемую карту имен захватывающих групп и номеров групп.
int start()
Возвращает начальный индекс совпадения.
int start(int group)
Возвращает начальный индекс подпоследовательности, захваченной указанной группой при этом сопоставлении.
default int start(String name)
Возвращает начальный индекс подпоследовательности, захваченной указанной именованной захватывающей группой во время предыдущей операции сопоставления.

Подробное описание методов

start

int start()
Возвращает начальный индекс совпадения.
Возвращает:
Индекс первого совпавшего символа
Выбрасывает:
IllegalStateException — если попытка сопоставления ещё не предпринималась или предыдущая операция сопоставления завершилась неудачей

start

int start(int group)
Возвращает начальный индекс подпоследовательности, захваченной указанной группой при этом сопоставлении.

Захватывающие группы индексируются слева направо, начиная с единицы. Группа с индексом ноль обозначает весь шаблон, поэтому выражение m.start(0) эквивалентно выражению m.start().

Параметры:
group — индекс захватывающей группы в шаблоне этого сопоставителя
Возвращает:
Индекс первого символа, захваченного группой, или -1, если сопоставление завершилось успешно, но сама группа ничего не совпоставила
Выбрасывает:
IllegalStateException — если попытка сопоставления ещё не предпринималась или предыдущая операция сопоставления завершилась неудачей
IndexOutOfBoundsException — если в шаблоне нет захватывающей группы с указанным индексом

start

default int start(String name)
Возвращает начальный индекс подпоследовательности, захваченной указанной именованной захватывающей группой во время предыдущей операции сопоставления.
Требования к реализации:
Реализация этого метода по умолчанию вызывает namedGroups(), чтобы получить номер группы из аргумента name, и использует его в качестве аргумента при вызове start(int).
Параметры:
name — имя именованной захватывающей группы в шаблоне этого сопоставителя
Возвращает:
Индекс первого символа, захваченного группой, или -1, если сопоставление завершилось успешно, но сама группа ничего не совпоставила
Выбрасывает:
IllegalStateException — если попытка сопоставления ещё не предпринималась или предыдущая операция сопоставления завершилась неудачей
IllegalArgumentException — если в шаблоне нет захватывающей группы с указанным именем
С момента версии:
20

end

int end()
Возвращает смещение после последнего совпавшего символа.
Возвращает:
Смещение после последнего совпавшего символа
Выбрасывает:
IllegalStateException — если попытка сопоставления ещё не предпринималась или предыдущая операция сопоставления завершилась неудачей

end

int end(int group)
Возвращает смещение после последнего символа подпоследовательности, захваченной указанной группой при этом сопоставлении.

Захватывающие группы индексируются слева направо, начиная с единицы. Группа с индексом ноль обозначает весь шаблон, поэтому выражение m.end(0) эквивалентно выражению m.end().

Параметры:
group — индекс захватывающей группы в шаблоне этого сопоставителя
Возвращает:
Смещение после последнего символа, захваченного группой, или -1, если сопоставление завершилось успешно, но сама группа ничего не совпоставила
Выбрасывает:
IllegalStateException — если попытка сопоставления ещё не предпринималась или предыдущая операция сопоставления завершилась неудачей
IndexOutOfBoundsException — если в шаблоне нет захватывающей группы с указанным индексом

end

default int end(String name)
Возвращает смещение после последнего символа подпоследовательности, захваченной указанной именованной захватывающей группой во время предыдущей операции сопоставления.
Требования к реализации:
Реализация этого метода по умолчанию вызывает namedGroups(), чтобы получить номер группы из аргумента name, и использует его в качестве аргумента при вызове end(int).
Параметры:
name — имя именованной захватывающей группы в шаблоне этого сопоставителя
Возвращает:
Смещение после последнего символа, захваченного группой, или -1, если сопоставление завершилось успешно, но сама группа ничего не совпоставила
Выбрасывает:
IllegalStateException — если попытка сопоставления ещё не предпринималась или предыдущая операция сопоставления завершилась неудачей
IllegalArgumentException — если в шаблоне нет захватывающей группы с указанным именем
С момента версии:
20

group

String group()
Возвращает подпоследовательность входных данных, совпавшую при предыдущем сопоставлении.

Для сопоставителя m с входной последовательностью s выражения m.group() и s.substring(m.start(), m.end()) эквивалентны.

Обратите внимание, что некоторые шаблоны, например a*, совпадают с пустой строкой. Этот метод возвращает пустую строку, если шаблон успешно сопоставляется с пустой строкой во входных данных.

Возвращает:
Возможно, пустая подпоследовательность, совпавшая при предыдущем сопоставлении, в виде строки
Выбрасывает:
IllegalStateException — если попытка сопоставления ещё не предпринималась или предыдущая операция сопоставления завершилась неудачей

group

String group(int group)
Возвращает подпоследовательность входных данных, захваченную указанной группой во время предыдущей операции сопоставления.

Для сопоставителя m, входной последовательности s и индекса группы g выражения m.group(g) и s.substring(m.start(g ), m.end(g)) эквивалентны.

Захватывающие группы индексируются слева направо, начиная с единицы. Группа с индексом ноль обозначает весь шаблон, поэтому выражение m.group(0) эквивалентно выражению m.group().

Если сопоставление завершилось успешно, но указанная группа не совпала ни с одной частью входной последовательности, возвращается null. Обратите внимание, что некоторые группы, например (a*), совпадают с пустой строкой. Этот метод возвращает пустую строку, если такая группа успешно сопоставляется с пустой строкой во входных данных.

Параметры:
group — индекс захватывающей группы в шаблоне этого сопоставителя
Возвращает:
Возможно, пустая подпоследовательность, захваченная группой во время предыдущего сопоставления, или null, если группа не совпала ни с одной частью входных данных
Выбрасывает:
IllegalStateException — если попытка сопоставления ещё не предпринималась или предыдущая операция сопоставления завершилась неудачей
IndexOutOfBoundsException — если в шаблоне нет захватывающей группы с указанным индексом

group

default String group(String name)
Возвращает подпоследовательность входных данных, захваченную указанной именованной захватывающей группой во время предыдущей операции сопоставления.

Если сопоставление завершилось успешно, но указанная группа не совпала ни с одной частью входной последовательности, возвращается null. Обратите внимание, что некоторые группы, например (a*), совпадают с пустой строкой. Этот метод возвращает пустую строку, если такая группа успешно сопоставляется с пустой строкой во входных данных.

Требования к реализации:
Реализация этого метода по умолчанию вызывает namedGroups(), чтобы получить номер группы из аргумента name, и использует его в качестве аргумента при вызове group(int).
Параметры:
name — имя именованной захватывающей группы в шаблоне этого сопоставителя
Возвращает:
Возможно, пустая подпоследовательность, захваченная именованной группой во время предыдущего сопоставления, или null, если группа не совпала ни с одной частью входных данных
Выбрасывает:
IllegalStateException — если попытка сопоставления ещё не предпринималась или предыдущая операция сопоставления завершилась неудачей
IllegalArgumentException — если в шаблоне нет захватывающей группы с указанным именем
С момента версии:
20

groupCount

int groupCount()
Возвращает количество захватывающих групп в шаблоне этого результата сопоставления.

По соглашению группа с индексом ноль обозначает весь шаблон. Она не включается в это количество.

Любое неотрицательное целое число, не превышающее значение, возвращаемое этим методом, гарантированно является допустимым индексом группы для этого сопоставителя.

Возвращает:
Количество захватывающих групп в шаблоне этого сопоставителя

namedGroups

default Map<String,Integer> namedGroups()
Возвращает неизменяемую карту имен захватывающих групп и номеров групп. Если именованных групп нет, возвращает пустую карту.
Примечание API:
Этот метод должен быть переопределён реализацией, поддерживающей именованные группы.
Требования к реализации:
Реализация этого метода по умолчанию всегда выбрасывает исключение UnsupportedOperationException
Возвращает:
неизменяемую карту имен захватывающих групп и номеров групп
Выбрасывает:
UnsupportedOperationException — если реализация не поддерживает именованные группы.
С момента версии:
20

hasMatch

default boolean hasMatch()
Возвращает, содержит ли this действительное совпадение, полученное в результате предыдущей операции сопоставления или поиска.
Требования к реализации:
Реализация этого метода по умолчанию всегда выбрасывает исключение UnsupportedOperationException
Возвращает:
содержит ли this действительное совпадение
Выбрасывает:
UnsupportedOperationException — если реализация не может сообщить, имеется ли совпадение
С момента версии:
20

Сообщить об ошибке или предложить улучшение
Дополнительные справочные материалы по API и документацию для разработчиков см. в документации Java SE, содержащей более подробные описания для разработчиков, обзоры концепций, определения терминов, обходные решения и рабочие примеры кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или её аффилированных лиц в США и других странах.
Авторские права © 1993, 2025, Oracle и/или её аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 1993, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/regex/MatchResult.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API