Интерфейс MatchResult
- Все известные реализующие классы:
Matcher
public interface MatchResult
Этот интерфейс содержит методы запроса, используемые для определения результатов сопоставления с регулярным выражением. Границы сопоставления, группы и границы групп могут быть видны, но не могут быть изменены через MatchResult.
- С:
- 1.5
- См. также:
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
int |
end() |
Возвращает смещение после последнего совпавшего символа. |
int |
end |
Возвращает смещение после последнего символа подпоследовательности, захваченной заданной группой во время этого сопоставления. |
String |
group() |
Возвращает подпоследовательность входных данных, соответствующую предыдущему сопоставлению. |
String |
group |
Возвращает подпоследовательность входных данных, захваченную заданной группой во время предыдущей операции сопоставления. |
int |
groupCount() |
Возвращает количество захватывающих групп в шаблоне этого результата сопоставления. |
int |
start() |
Возвращает начальный индекс сопоставления. |
int |
start |
Возвращает начальный индекс подпоследовательности, захваченной заданной группой во время этого сопоставления. |
Подробное описание методов
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, 2021, 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/17/docs/api/java.base/java/util/regex/MatchResult.html