РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
686 of 1163 menu

Метод usePattern

Метод usePattern класса Matcher заменяет текущий шаблон, с которым работает данный Matcher, на новый объект класса Pattern. При этом состояние сопоставления полностью сбрасывается: позиция поиска возвращается в начало входной строки, а все ранее найденные группы становятся недоступными. В параметр мы передаем новый объект Pattern, который заменит исходный шаблон. Метод возвращает ссылку на текущий объект Matcher, что позволяет выстраивать цепочки вызовов.

Синтаксис

matcher.usePattern(pattern)

Пример

Давайте создадим Matcher для одного шаблона, а затем заменим его на другой с помощью usePattern:

import java.util.regex.Matcher; import java.util.regex.Pattern; public class Main { public static void main(String[] args) { Pattern p1 = Pattern.compile("\\d+"); Matcher matcher = p1.matcher("abc123"); System.out.println(matcher.find()); System.out.println(matcher.group()); Pattern p2 = Pattern.compile("[a-z]+"); matcher.usePattern(p2); System.out.println(matcher.find()); System.out.println(matcher.group()); } }

Результат выполнения кода:

true "123" true "abc"

Пример

После вызова usePattern позиция поиска сбрасывается в начало строки. Давайте убедимся в этом на примере:

import java.util.regex.Matcher; import java.util.regex.Pattern; public class Main { public static void main(String[] args) { Pattern p1 = Pattern.compile("[a-z]+"); Matcher matcher = p1.matcher("abc123"); System.out.println(matcher.find()); System.out.println(matcher.start()); Pattern p2 = Pattern.compile("\\d+"); matcher.usePattern(p2); System.out.println(matcher.find()); System.out.println(matcher.start()); } }

Результат выполнения кода:

true 0 true 3

Смотрите также

  • класс Matcher,
    который выполняет сопоставление с шаблоном
  • метод find,
    который ищет следующее совпадение
  • метод group,
    который возвращает найденную подстроку
  • метод reset,
    который сбрасывает состояние сопоставления
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить