Интерфейс MatchResult
- Все известные реализующие классы:
- Matcher
public interface MatchResult
Результат операции сопоставления.
Этот интерфейс содержит методы запроса, используемые для определения результатов сопоставления с регулярным выражением. Границы сопоставления, группы и границы групп могут быть видны, но не могут быть изменены через MatchResult.
- С момента:
- 1.5
- См. также:
Matcher
Методы
| Модификатор и тип | Метод и описание |
|---|---|
int |
end() Возвращает смещение после последнего сопоставленного символа. |
int |
end(int group) Возвращает смещение после последнего символа подпоследовательности, захваченной данной группой во время этого сопоставления. |
String |
group() Возвращает подпоследовательность входных данных, сопоставленную предыдущим сопоставлением. |
String |
group(int group) Возвращает подпоследовательность входных данных, захваченную данной группой во время предыдущей операции сопоставления. |
int |
groupCount() Возвращает количество захватывающих групп в шаблоне этого результата сопоставления. |
int |
start() Возвращает начальный индекс сопоставления. |
int |
start(int group) Возвращает начальный индекс подпоследовательности, захваченной данной группой во время этого сопоставления. |
Методы
start
int start()
Возвращает начальный индекс сопоставления.
- Возвращает:
- Индекс первого сопоставленного символа
- Бросает:
-
IllegalStateException- Если сопоставление еще не выполнено или предыдущая операция сопоставления завершилась неудачно
start
int start(int group)
Возвращает начальный индекс подпоследовательности, захваченной данной группой во время этого сопоставления.
Захватывающие группы индексируются слева направо, начиная с единицы. Группа ноль обозначает весь шаблон, поэтому выражение m.start(0) эквивалентно m.start().
- Параметры:
-
group- Индекс захватывающей группы в шаблоне этого сопоставителя - Возвращает:
- Индекс первого символа, захваченного группой, или
-1, если сопоставление было успешным, но сама группа ничего не сопоставила - Бросает:
-
IllegalStateException- Если сопоставление еще не выполнено или предыдущая операция сопоставления завершилась неудачно -
IndexOutOfBoundsException- Если в шаблоне нет захватывающей группы с указанным индексом
end
int end()
Возвращает смещение после последнего сопоставленного символа.
- Возвращает:
- Смещение после последнего сопоставленного символа
- Бросает:
-
IllegalStateException- Если сопоставление еще не выполнено или предыдущая операция сопоставления завершилась неудачно
end
int end(int group)
Возвращает смещение после последнего символа подпоследовательности, захваченной данной группой во время этого сопоставления.
Захватывающие группы индексируются слева направо, начиная с единицы. Группа ноль обозначает весь шаблон, поэтому выражение m.end(0) эквивалентно m.end().
- Параметры:
-
group- Индекс захватывающей группы в шаблоне этого сопоставителя - Возвращает:
- Смещение после последнего символа, захваченного группой, или
-1, если сопоставление было успешным, но сама группа ничего не сопоставила - Бросает:
-
IllegalStateException- Если сопоставление еще не выполнено или предыдущая операция сопоставления завершилась неудачно -
IndexOutOfBoundsException- Если в шаблоне нет захватывающей группы с указанным индексом
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- Если в шаблоне нет захватывающей группы с указанным индексом
groupCount
int groupCount()
Возвращает количество захватывающих групп в шаблоне этого результата сопоставления.
Группа ноль по умолчанию обозначает весь шаблон. Она не включена в это количество.
Любой неотрицательный целое число, меньшее или равное возвращаемому этим методом значению, гарантированно является корректным индексом группы для этого сопоставителя.
- Возвращает:
- Количество захватывающих групп в шаблоне этого сопоставителя
© 1993, 2020, 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.