Spec-Zone.ru › OpenJDK 21

Интерфейс 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

© 1993, 2023, 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/21/docs/api/java.base/java/util/regex/MatchResult.html

Spec-Zone.ru

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