Класс Matcher Java

Класс Matcher JavaУ этого класса отсутствуют конструкторы. Вместо этого для создания объекта класса Маtcher вызывается фабричный метод matcher(), определяемый в классе Pattern.

Как только объект класса Matcher будет создан, его методы можно использовать для выполнения различных операций сопостав­ления с шаблоном.

Самым простым для сопоставления с шаблоном является метод matches(), который просто определяет, совпадает ли последовательность символов с шабло­ном. Общая форма этого метода приведена ниже.

Этот метод возвращает логическое значение true, если последовательность символов совпадает и шаблоном, а иначе — логическое значение false. Следует, однако, иметь в виду, что с шаблоном должна совпадать вся последовательность символов, а не только ее часть (т.е. подпоследовательность).

Чтобы определить, совпадает ли с шаблоном подпоследовательность из вход­ной последовательности символов, следует вызвать метод find(). Ниже приведе­на одна из его общих форм.

Этот метод возвращает логическое значение true, если подпоследователь­ность совпадает с шаблоном, а иначе — логическое значение false. Метод find() можно вызывать неоднократно, чтобы находить все совпадающие подпоследова­тельности. При каждом вызове метода find() сравнение начинается с того места, где было завершено предыдущее сравнение.

Символьную строку, содержащую последнюю совпавшую последовательность, можно получить, вызвав метод group(). Ниже приведена одна из его общих форм:

Этот метод возвращает совпавшую символьную строку. Если ни одного совпа­дения не обнаружено, генерируется исключение типа IllegalStateException.

Вызвав метод start(), можно получить индекс текущего совпадения во входной последовательности символов, а индекс, следующий после текуще­го совпадения — вызвав метод end(). Ниже приведены общие формы этих ме­тодов. В отсутствие совпадений оба эти метода генерируют исключение типа IllegalStateException.

Каждую совпавшую последовательность символов можно заменить другой последовательностью, вызвав метод replaceAll(). Его общая форма выглядит сле­дующим образом:

где параметр новая_строка определяет новую последовательность символов, ко­торая будет заменять последовательности, совпавшие с шаблоном. Обновленная входная последовательность будет возвращена в виде символьной строки.