Класс Matcher
- java.lang.Object
-
- java.util.regex.Matcher
- Все реализованные интерфейсы:
- MatchResult
public final class Matcher extends Object implements MatchResult
Двигатель, выполняющий операции сопоставления с последовательностью символов, интерпретируя Pattern.
Сопоставитель создаётся из шаблона с помощью вызова метода шаблона matcher. После создания сопоставитель может использоваться для выполнения трёх типов операций сопоставления:
Метод
matchesпытается сопоставить всю последовательность ввода с шаблоном.Метод
lookingAtпытается сопоставить последовательность ввода, начиная с начала, с шаблоном.Метод
findсканирует последовательность ввода, ища следующую подпоследовательность, которая соответствует шаблону.
Каждый из этих методов возвращает булево значение, указывающее на успех или неудачу. Дополнительную информацию об успешном сопоставлении можно получить, запросив состояние сопоставителя.
Сопоставитель находит соответствия в подмножестве своего ввода, называемом областью. По умолчанию область содержит весь ввод сопоставителя. Область может быть изменена с помощью метода region и запрошена с помощью методов regionStart и regionEnd. Способ взаимодействия границ области с некоторыми конструкциями шаблона может быть изменён. Подробнее см. useAnchoringBounds и useTransparentBounds.
Этот класс также определяет методы для замены сопоставленных подпоследовательностей новыми строками, содержимое которых, при необходимости, можно вычислить из результата сопоставления. Методы appendReplacement и appendTail могут использоваться совместно для сбора результата в существующий буфер строк, или для удобства можно использовать метод replaceAll для создания строки, в которой каждая соответствующая подпоследовательность в последовательности ввода заменяется.
Явное состояние сопоставителя включает начальные и конечные индексы последнего успешного сопоставления. Он также включает начальные и конечные индексы подпоследовательности ввода, захваченной каждой группой захвата в шаблоне, а также общее количество таких подпоследовательностей. Для удобства также предоставляются методы для возвращения этих захваченных подпоследовательностей в строковом формате.
Явное состояние сопоставителя изначально не определено; попытка запросить любую его часть до успешного сопоставления приведёт к броске исключения IllegalStateException. Явное состояние сопоставителя пересчитывается каждой операцией сопоставления.
Неявное состояние сопоставителя включает последовательность символов ввода, а также позицию добавления, которая изначально равна нулю и обновляется методом appendReplacement.
Сопоставитель может быть явно сброшен с помощью вызова его метода reset() или, если требуется новая последовательность ввода, с помощью его метода reset(CharSequence). Сброс сопоставителя удаляет информацию о его явном состоянии и устанавливает позицию добавления в ноль.
Экземпляры этого класса не безопасны для использования в нескольких потоках одновременно.
- Since:
- 1.4
Методы
| Модификатор и тип | Метод и описание |
|---|---|
Matcher |
appendReplacement(StringBuffer sb,
String replacement) Реализует нетерминальную операцию добавления и замены. |
StringBuffer |
appendTail(StringBuffer sb) Реализует терминальную операцию добавления и замены. |
int |
end() Возвращает смещение после последнего сопоставленного символа. |
int |
end(int group) Возвращает смещение после последнего символа подпоследовательности, захваченной заданной группой во время предыдущей операции сопоставления. |
int |
end(String name) Возвращает смещение после последнего символа подпоследовательности, захваченной заданной именованной группой захвата во время предыдущей операции сопоставления. |
boolean |
find() Пытается найти следующую подпоследовательность в последовательности ввода, которая соответствует шаблону. |
boolean |
find(int start) Сбрасывает этот сопоставитель и затем пытается найти следующую подпоследовательность в последовательности ввода, которая соответствует шаблону, начиная с указанного индекса. |
String |
group() Возвращает подпоследовательность ввода, соответствующую предыдущему сопоставлению. |
String |
group(int group) Возвращает подпоследовательность ввода, захваченную заданной группой во время предыдущей операции сопоставления. |
String |
group(String name) Возвращает подпоследовательность ввода, захваченную заданной именованной группой захвата во время предыдущей операции сопоставления. |
int |
groupCount() Возвращает количество групп захвата в шаблоне этого сопоставителя. |
boolean |
hasAnchoringBounds() Запрашивает закрепление границ области для этого сопоставителя. |
boolean |
hasTransparentBounds() Запрашивает прозрачность границ области для этого сопоставителя. |
boolean |
hitEnd() Возвращает true, если в последней операции сопоставления, выполненной этим сопоставителем, движок поиска достиг конца ввода. |
boolean |
lookingAt() Пытается сопоставить последовательность ввода, начиная с начала области, с шаблоном. |
boolean |
matches() Пытается сопоставить всю область с шаблоном. |
Pattern |
pattern() Возвращает шаблон, интерпретируемый этим сопоставителем. |
static String |
quoteReplacement(String s) Возвращает литеральную замену |
Matcher |
region(int start,
int end) Устанавливает пределы области этого сопоставителя. |
int |
regionEnd() Сообщает конечный индекс (исключительно) области этого сопоставителя. |
int |
regionStart() Сообщает начальный индекс области этого сопоставителя. |
String |
replaceAll(String replacement) Заменяет каждую подпоследовательность в последовательности ввода, соответствующую шаблону, на заданную строку замены. |
String |
replaceFirst(String replacement) Заменяет первую подпоследовательность в последовательности ввода, соответствующую шаблону, на заданную строку замены. |
boolean |
requireEnd() Возвращает true, если дополнительный ввод может изменить положительное совпадение на отрицательное. |
Matcher |
reset() Сбрасывает этот сопоставитель. |
Matcher |
reset(CharSequence input) Сбрасывает этот сопоставитель с новой последовательностью ввода. |
int |
start() Возвращает начальный индекс предыдущего сопоставления. |
int |
start(int group) Возвращает начальный индекс подпоследовательности, захваченной заданной группой во время предыдущего сопоставления. |
int |
start(String name) Возвращает начальный индекс подпоследовательности, захваченной заданной именованной группой захвата во время предыдущего сопоставления. |
MatchResult |
toMatchResult() Возвращает состояние сопоставления этого сопоставителя как |
String |
toString() Возвращает строковое представление этого сопоставителя. |
Matcher |
useAnchoringBounds(boolean b) Устанавливает закрепление границ области для этого сопоставителя. |
Matcher |
usePattern(Pattern newPattern) Изменяет |
Matcher |
useTransparentBounds(boolean b) Устанавливает прозрачность границ области для этого сопоставителя. |
Методы, унаследованные от класса java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait Методы
pattern
public Pattern pattern()
Возвращает шаблон, интерпретируемый этим совпадением.
- Возвращает:
- Шаблон, для которого было создано это совпадение
toMatchResult
public MatchResult toMatchResult()
Возвращает состояние сопоставления этого совпадения в виде MatchResult. Результат не зависит от последующих операций, выполненных над этим совпадением.
- Возвращает:
- объект
MatchResultсо статусом этого совпадения - Since:
- 1.5
usePattern
public Matcher usePattern(Pattern newPattern)
Изменяет Pattern используемый этим Matcher для поиска совпадений.
Этот метод заставляет это совпадение потерять информацию о группах последнего выполненного сопоставления. Позиция совпадения в входных данных сохраняется, и последняя позиция добавления не изменяется.
- Параметры:
-
newPattern- Новый шаблон, используемый этим совпадением - Возвращает:
- Это совпадение
- Исключения:
-
IllegalArgumentException- Если newPattern являетсяnull - Since:
- 1.5
reset
public Matcher reset()
Сбрасывает это совпадение.
Сброс совпадения отбрасывает всю информацию о его явном состоянии и устанавливает его позицию добавления в ноль. Область совпадения устанавливается в стандартную область, которая является всем последовательностью символов. Якорные и прозрачные границы области совпадения не затрагиваются.
- Возвращает:
- Это совпадение
reset
public Matcher reset(CharSequence input)
Сбрасывает это совпадение с новой последовательностью входных данных.
Сброс совпадения отбрасывает всю информацию о его явном состоянии и устанавливает его позицию добавления в ноль. Область совпадения устанавливается в стандартную область, которая является всем последовательностью символов. Якорные и прозрачные границы области совпадения не затрагиваются.
- Параметры:
-
input- Новая последовательность символов входных данных - Возвращает:
- Это совпадение
start
public int start()
Возвращает начальный индекс предыдущего совпадения.
- Определено в:
-
startв интерфейсеMatchResult - Возвращает:
- Индекс первого сопоставленного символа
- Исключения:
-
IllegalStateException- Если сопоставление еще не пыталось, или предыдущая операция сопоставления завершилась неудачей
start
public int start(int group)
Возвращает начальный индекс подпоследовательности, захваченной заданной группой во время предыдущей операции сопоставления.
Группы захвата индексируются слева направо, начиная с единицы. Группа ноль обозначает весь шаблон, поэтому выражение m.start(0) эквивалентно m.start().
- Определено в:
-
startв интерфейсеMatchResult - Параметры:
-
group- Индекс захватывающей группы в шаблоне этого совпадения - Возвращает:
- Индекс первого символа, захваченного группой, или
-1если сопоставление прошло успешно, но сама группа ничего не сопоставила - Исключения:
-
IllegalStateException- Если сопоставление еще не пыталось, или предыдущая операция сопоставления завершилась неудачей -
IndexOutOfBoundsException- Если в шаблоне нет группы захвата с данным индексом
start
public int start(String name)
Возвращает начальный индекс подпоследовательности, захваченной заданной именованной захватывающей группой во время предыдущей операции сопоставления.
- Параметры:
-
name- Имя именованной захватывающей группы в шаблоне этого совпадения - Возвращает:
- Индекс первого символа, захваченного группой, или
-1если сопоставление прошло успешно, но сама группа ничего не сопоставила - Исключения:
-
IllegalStateException- Если сопоставление еще не пыталось, или предыдущая операция сопоставления завершилась неудачей -
IllegalArgumentException- Если в шаблоне нет группы захвата с данным именем - Since:
- 1.8
end
public int end()
Возвращает смещение после последнего сопоставленного символа.
- Определено в:
-
endв интерфейсеMatchResult - Возвращает:
- Смещение после последнего сопоставленного символа
- Исключения:
-
IllegalStateException- Если сопоставление еще не пыталось, или предыдущая операция сопоставления завершилась неудачей
end
public int end(int group)
Возвращает смещение после последнего символа подпоследовательности, захваченной заданной группой во время предыдущей операции сопоставления.
Группы захвата индексируются слева направо, начиная с единицы. Группа ноль обозначает весь шаблон, поэтому выражение m.end(0) эквивалентно m.end().
- Определено в:
-
endв интерфейсеMatchResult - Параметры:
-
group- Индекс захватывающей группы в шаблоне этого совпадения - Возвращает:
- Смещение после последнего символа, захваченного группой, или
-1если сопоставление прошло успешно, но сама группа ничего не сопоставила - Исключения:
-
IllegalStateException- Если сопоставление еще не пыталось, или предыдущая операция сопоставления завершилась неудачей -
IndexOutOfBoundsException- Если в шаблоне нет группы захвата с данным индексом
end
public int end(String name)
Возвращает смещение после последнего символа подпоследовательности, захваченной заданной именованной захватывающей группой во время предыдущей операции сопоставления.
- Параметры:
-
name- Имя именованной захватывающей группы в шаблоне этого совпадения - Возвращает:
- Смещение после последнего символа, захваченного группой, или
-1если сопоставление прошло успешно, но сама группа ничего не сопоставила - Исключения:
-
IllegalStateException- Если сопоставление еще не пыталось, или предыдущая операция сопоставления завершилась неудачей -
IllegalArgumentException- Если в шаблоне нет группы захвата с данным именем - Since:
- 1.8
group
public String group()
Возвращает подпоследовательность входных данных, сопоставленную с предыдущим совпадением.
Для совпадения m с последовательностью входных данных s, выражения m.group() и s.substring(m.start(), m.end()) эквивалентны.
Обратите внимание, что некоторые шаблоны, например a*, сопоставляют пустую строку. Этот метод вернёт пустую строку, когда шаблон успешно сопоставится с пустой строкой во входных данных.
- Определено в:
-
groupв интерфейсеMatchResult - Возвращает:
- Подпоследовательность (возможно, пустую) входных данных, сопоставленную с предыдущим совпадением, в виде строки
- Исключения:
-
IllegalStateException- Если сопоставление еще не пыталось, или предыдущая операция сопоставления завершилась неудачей
group
public 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в интерфейсеMatchResult - Параметры:
-
group- Индекс захватывающей группы в шаблоне этого совпадения - Возвращает:
- Подпоследовательность (возможно, пустую), захваченная группой во время предыдущего сопоставления, или
nullесли группа не смогла сопоставить часть входных данных - Исключения:
-
IllegalStateException- Если сопоставление еще не пыталось, или предыдущая операция сопоставления завершилась неудачей -
IndexOutOfBoundsException- Если в шаблоне нет группы захвата с данным индексом
group
public String group(String name)
Возвращает подпоследовательность входных данных, захваченную заданной именованной захватывающей группой во время предыдущей операции сопоставления.
Если сопоставление прошло успешно, но указанная группа не смогла сопоставить никакой части последовательности входных данных, то возвращается null. Обратите внимание, что некоторые группы, например (a*), сопоставляют пустую строку. Этот метод вернёт пустую строку, когда такая группа успешно сопоставится с пустой строкой во входных данных.
- Параметры:
-
name- Имя именованной захватывающей группы в шаблоне этого совпадения - Возвращает:
- Подпоследовательность (возможно, пустую), захваченная именованной группой во время предыдущего сопоставления, или
nullесли группа не смогла сопоставить часть входных данных - Исключения:
-
IllegalStateException- Если сопоставление еще не пыталось, или предыдущая операция сопоставления завершилась неудачей -
IllegalArgumentException- Если в шаблоне нет группы захвата с данным именем - Since:
- 1.7
groupCount
public int groupCount()
Возвращает количество захватывающих групп в шаблоне этого совпадения.
Группа ноль по умолчанию обозначает весь шаблон. Она не включена в этот счёт.
Любое целое неотрицательное число, меньшее или равное возвращаемому значением этого метода, гарантированно является корректным индексом группы для этого совпадения.
- Определено в:
-
groupCountв интерфейсеMatchResult - Возвращает:
- Количество захватывающих групп в шаблоне этого совпадения
matches
public boolean matches()
Пытается сопоставить всю область с шаблоном.
Если сопоставление успешно, то больше информации можно получить через методы start, end, и group.
- Возвращает:
-
trueесли, и только если, вся последовательность области соответствует шаблону этого совпадения
find
public boolean find()
Попытка найти следующую подпоследовательность входной последовательности, которая соответствует шаблону.
Этот метод начинается с начала области этого соответствия или, если предыдущее обращение к методу было успешным и сопоставитель с тех пор не был сброшен, с первого символа, не соответствующего предыдущему соответствию.
Если соответствие успешно, дополнительную информацию можно получить с помощью методов start, end, и group.
- Возвращает:
-
trueтогда и только тогда, когда подпоследовательность входной последовательности соответствует шаблону этого соответствия
find
public boolean find(int start)
Сбрасывает это соответствие и затем пытается найти следующую подпоследовательность входной последовательности, которая соответствует шаблону, начиная с указанного индекса.
Если соответствие успешно, дополнительную информацию можно получить с помощью методов start, end, и group, и последующие обращения к методу find() будут начинаться с первого символа, не соответствующего этому соответствию.
- Параметры:
-
start- индекс, с которого следует начать поиск соответствия - Возвращает:
-
trueесли и только если подпоследовательность входной последовательности, начиная с заданного индекса, соответствует шаблону этого соответствия - Исключение:
-
IndexOutOfBoundsException- если start меньше нуля или если start больше длины входной последовательности.
lookingAt
public boolean lookingAt()
Попытка сопоставить входную последовательность, начиная с начала области, с шаблоном.
Подобно методу matches, этот метод всегда начинается с начала области; в отличие от этого метода, он не требует, чтобы вся область соответствовала шаблону.
Если соответствие успешно, дополнительную информацию можно получить с помощью методов start, end, и group.
- Возвращает:
-
trueесли и только если префикс входной последовательности соответствует шаблону этого соответствия
quoteReplacement
public static String quoteReplacement(String s)
Возвращает буквенную замену String для указанного String. Этот метод создает String, который будет работать как буквенная замена s в методе appendReplacement класса Matcher. Создаваемая String будет соответствовать последовательности символов в s, рассматриваемой как буквенная последовательность. Слеши ('\') и знаки доллара ('$') не будут иметь специального значения.
- Параметры:
-
s- Строка, которая должна быть литерализована - Возвращает:
- Буквенная строковая замена
- С:
- 1.5
appendReplacement
public Matcher appendReplacement(StringBuffer sb,
String replacement) Реализует нетерминальную операцию добавления и замены.
Этот метод выполняет следующие действия:
Он считывает символы из входной последовательности, начиная с позиции добавления, и добавляет их к заданному буферу строк. Он останавливается после считывания последнего символа, предшествующего предыдущему соответствию, то есть символа с индексом
start()-1.Он добавляет заданную строку замены в буфер строк.
Он устанавливает позицию добавления этого соответствия в индекс последнего сопоставленного символа плюс один, то есть в
end().
Строка замены может содержать ссылки на подпоследовательности, захваченные во время предыдущего соответствия: каждое вхождение ${имя} или $g будет заменено результатом вычисления соответствующего group(name) или group(g) соответственно. Для $g, первая цифра после $ всегда рассматривается как часть ссылки на группу. Последующие цифры включаются в g, если они образуют законную ссылку на группу. Только цифры от '0' до '9' рассматриваются как потенциальные компоненты ссылки на группу. Если вторая группа соответствует строке "foo", например, то передача строки замены "$2bar" приведет к добавлению "foobar" в буфер строк. Знак доллара ($) может быть включен как буквальный символ в строку замены, предваряя его обратной косой чертой (\$).
Обратите внимание, что обратные косые черты (\) и знаки доллара ($) в строке замены могут привести к результатам, отличным от тех, если бы она рассматривалась как строка буквальной замены. Знаки доллара могут рассматриваться как ссылки на захваченные подпоследовательности, как описано выше, а обратные косые черты используются для экранирования буквенных символов в строке замены.
Этот метод предназначен для использования в цикле вместе с методами appendTail и find. Например, следующий код выводит one dog two dogs in the yard в поток стандартного вывода:
Pattern p = Pattern.compile("cat");
Matcher m = p.matcher("one cat two cats in the yard");
StringBuffer sb = new StringBuffer();
while (m.find()) {
m.appendReplacement(sb, "dog");
}
m.appendTail(sb);
System.out.println(sb.toString());
- Параметры:
-
sb- целевой буфер строк -
replacement- строка замены - Возвращает:
- Это соответствие
- Исключение:
-
IllegalStateException- если соответствие еще не пыталось, или если предыдущая операция соответствия завершилась неудачно -
IllegalArgumentException- если строка замены ссылается на именованную группу захвата, которая не существует в шаблоне -
IndexOutOfBoundsException- если строка замены ссылается на группу захвата, которая не существует в шаблоне
appendTail
public StringBuffer appendTail(StringBuffer sb)
Реализует терминальную операцию добавления и замены.
Этот метод считывает символы из входной последовательности, начиная с позиции добавления, и добавляет их в заданный буфер строк. Он предназначен для вызова после одной или нескольких вызовов метода appendReplacement для копирования остатка входной последовательности.
- Параметры:
-
sb- целевой буфер строк - Возвращает:
- Целевой буфер строк
replaceAll
public String replaceAll(String replacement)
Заменяет каждую подпоследовательность входной последовательности, которая соответствует шаблону, заданной строкой замены.
Этот метод сначала сбрасывает это соответствие. Затем он сканирует входную последовательность в поисках совпадений с шаблоном. Символы, которые не являются частью совпадения, добавляются непосредственно в результирующую строку; каждое совпадение заменяется в результате строкой замены. Строка замены может содержать ссылки на захваченные подпоследовательности, как и в методе appendReplacement.
Обратите внимание, что обратные косые черты (\) и знаки доллара ($) в строке замены могут привести к результатам, отличным от тех, если бы она рассматривалась как строка буквальной замены. Знаки доллара могут рассматриваться как ссылки на захваченные подпоследовательности, как описано выше, а обратные косые черты используются для экранирования буквальных символов в строке замены.
При регулярном выражении a*b, вводе "aabfooaabfooabfoob" и строке замены "-", вызов этого метода для соответствия этому выражению вернет строку "-foo-foo-foo-".
Вызов этого метода изменяет состояние этого соответствия. Если соответствие должно использоваться в последующих операциях соответствия, его следует сначала сбросить.
- Параметры:
-
replacement- Строка замены - Возвращает:
- Строка, построенная путем замены каждого соответствующего подпоследовательности строкой замены, заменяя при необходимости захваченные подпоследовательности
replaceFirst
public String replaceFirst(String replacement)
Заменяет первую подпоследовательность входной последовательности, которая соответствует шаблону, заданной строкой замены.
Этот метод сначала сбрасывает это соответствие. Затем он сканирует входную последовательность в поисках совпадения с шаблоном. Символы, которые не являются частью совпадения, добавляются непосредственно в результирующую строку; совпадение заменяется в результате строкой замены. Строка замены может содержать ссылки на захваченные подпоследовательности, как и в методе appendReplacement.
Обратите внимание, что обратные косые черты (\) и знаки доллара ($) в строке замены могут привести к результатам, отличным от тех, если бы она рассматривалась как строка буквальной замены. Знаки доллара могут рассматриваться как ссылки на захваченные подпоследовательности, как описано выше, а обратные косые черты используются для экранирования буквальных символов в строке замены.
При регулярном выражении dog, вводе "zzzdogzzzdogzzz" и строке замены "cat", вызов этого метода для соответствия этому выражению вернет строку "zzzcatzzzdogzzz".
Вызов этого метода изменяет состояние этого соответствия. Если соответствие должно использоваться в последующих операциях соответствия, его следует сначала сбросить.
- Параметры:
-
replacement- Строка замены - Возвращает:
- Строка, построенная путем замены первого соответствующего подпоследовательности строкой замены, заменяя при необходимости захваченные подпоследовательности
region
public Matcher region(int start,
int end) Устанавливает границы области поиска этого соответствия. Область — это часть входной последовательности, которая будет просматриваться для поиска совпадения. Вызов этого метода сбрасывает соответствие и затем устанавливает область, начиная с индекса, заданного параметром start, и заканчивая индексом, заданным параметром end.
В зависимости от используемой прозрачности и привязки (см. useTransparentBounds и useAnchoringBounds), некоторые конструкции, такие как якоря, могут вести себя иначе в границах области.
- Параметры:
-
start- Индекс, с которого начинается поиск (включительно) -
end- Индекс, до которого продолжается поиск (исключительно) - Возвращает:
- этот согласующий объект
- Выбрасывает:
-
IndexOutOfBoundsException- Если start или end меньше нуля, если start больше длины входной последовательности, если end больше длины входной последовательности или если start больше end. - С:
- 1.5
regionStart
public int regionStart()
Сообщает начальный индекс области этого согласующего объекта. Поиск, выполняемый этим согласующим объектом, ограничен нахождением совпадений в пределах regionStart (включительно) и regionEnd (исключительно).
- Возвращает:
- начальная точка области этого согласующего объекта
- С:
- 1.5
regionEnd
public int regionEnd()
Сообщает конечный индекс (исключительно) области этого согласующего объекта. Поиск, выполняемый этим согласующим объектом, ограничен нахождением совпадений в пределах regionStart (включительно) и regionEnd (исключительно).
- Возвращает:
- конечная точка области этого согласующего объекта
- С:
- 1.5
hasTransparentBounds
public boolean hasTransparentBounds()
Запрашивает прозрачность границ области для этого согласующего объекта.
Этот метод возвращает true если этот согласующий объект использует прозрачные границы, false если он использует непрозрачные границы.
См. useTransparentBounds для описания прозрачных и непрозрачных границ.
По умолчанию согласующий объект использует непрозрачные границы области.
- Возвращает:
-
trueесли этот согласующий объект использует прозрачные границы,falseв противном случае. - С:
- 1.5
- См. также:
useTransparentBounds(boolean)
useTransparentBounds
public Matcher useTransparentBounds(boolean b)
Устанавливает прозрачность границ области для этого согласующего объекта.
Вызов этого метода со значением аргумента true установит для этого согласующего объекта использование прозрачных границ. Если булевый аргумент равен false, то будут использоваться непрозрачные границы.
При использовании прозрачных границ границы области этого согласующего объекта прозрачны для предпросмотра, постпросмотра и конструкций сопоставления границ. Эти конструкции могут видеть за пределами границ области, чтобы увидеть, подходит ли соответствие.
При использовании непрозрачных границ границы области этого согласующего объекта непрозрачны для конструкций предпросмотра, постпросмотра и сопоставления границ, которые могут пытаться увидеть за их пределами. Эти конструкции не могут смотреть за пределы границ, поэтому они не смогут сопоставить ничего за пределами области.
По умолчанию согласующий объект использует непрозрачные границы.
- Параметры:
-
b- булево значение, указывающее, использовать ли непрозрачные или прозрачные области - Возвращает:
- этот согласующий объект
- С:
- 1.5
- См. также:
hasTransparentBounds()
hasAnchoringBounds
public boolean hasAnchoringBounds()
Запрашивает привязку границ области для этого согласующего объекта.
Этот метод возвращает true если этот согласующий объект использует привязанные границы, false в противном случае.
См. useAnchoringBounds для описания привязанных границ.
По умолчанию согласующий объект использует привязанные границы области.
- Возвращает:
-
trueесли этот согласующий объект использует привязанные границы,falseв противном случае. - С:
- 1.5
- См. также:
useAnchoringBounds(boolean)
useAnchoringBounds
public Matcher useAnchoringBounds(boolean b)
Устанавливает привязку границ области для этого согласующего объекта.
Вызов этого метода со значением аргумента true установит для этого согласующего объекта использование привязанных границ. Если булевый аргумент равен false, то будут использоваться непривязанные границы.
При использовании привязанных границ границы области этого согласующего объекта соответствуют якорям, таким как ^ и $.
Без привязанных границ границы области этого согласующего объекта не будут соответствовать якорям, таким как ^ и $.
По умолчанию согласующий объект использует привязанные границы области.
- Параметры:
-
b- булево значение, указывающее, использовать ли привязанные границы. - Возвращает:
- этот согласующий объект
- С:
- 1.5
- См. также:
hasAnchoringBounds()
toString
public String toString()
Возвращает строковое представление этого согласующего объекта. Строковое представление Matcher содержит информацию, которая может быть полезна для отладки. Точный формат не определён.
- Переопределяет:
-
toStringв классеObject - Возвращает:
- строковое представление этого согласующего объекта
- С:
- 1.5
hitEnd
public boolean hitEnd()
Возвращает true, если в последней операции сопоставления, выполненной этим согласующим объектом, был достигнут конец входных данных.
Когда этот метод возвращает true, возможно, что больше входных данных изменили бы результат последнего поиска.
- Возвращает:
- true, если в последнем поиске был достигнут конец входных данных; false в противном случае
- С:
- 1.5
requireEnd
public boolean requireEnd()
Возвращает true, если больше входных данных может изменить положительное соответствие на отрицательное.
Если этот метод возвращает true, и совпадение было найдено, значит больше входных данных может привести к потере совпадения. Если этот метод возвращает false, а совпадение было найдено, значит больше входных данных может изменить совпадение, но совпадение не будет потеряно. Если совпадение не было найдено, requireEnd не имеет смысла.
- Возвращает:
- true, если больше входных данных может изменить положительное соответствие на отрицательное.
- С:
- 1.5
© 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.