В предыдущем разделе мы изучили первый шаг использования классов Pattern и Matcher для создания объекта шаблона . В этом разделе мы продолжаем изучать второй шаг — получение соответствующего объекта .
Получите средство сопоставления экземпляров класса Matcher, которое может получать строковые входные данные, называемые сопоставляющим объектом:
Matchermatcher=шаблон.matcher(вход);
Шаблон объекта шаблона вызывает метод matcher(CharSequence input), чтобы вернуть средство сопоставления объекта Matcher, которое называется объектом сопоставления . Входной параметр используется для передачи строки, которую необходимо получить сопоставителю. Входной параметр может быть объектом, созданным любым классом, реализующим интерфейс CharSequence. Класс String и класс StringBuffer, изученные ранее, реализуют интерфейс CharSequence.
Сопоставитель соответствующих объектов может вызывать различные методы для получения введенной строки. Например: средство сопоставления последовательно вызывает логический метод find(), чтобы получить подстроку во входных данных, соответствующую регулярному выражению. Например: первый вызов метода find() извлекает первый товар из входных данных, то есть matcher.find() извлекает первый товар и возвращает true. В этот момент значение, возвращаемое matcher.start(. ) равно 6, позиция, где начинается первый товар, значение, возвращаемое matcher.end(), равно 10, позиция, где заканчивается первый товар, matcher.group() возвращает товар, то есть возвращает полученную строку.
Средство сопоставления объектов Matcher может использовать следующие методы, чтобы определить, есть ли во входной строке подпоследовательность, соответствующая регулярному выражению шаблона. Регулярное выражение — это регулярное выражение, используемое при создании шаблона объекта шаблона.
Найдите следующую подпоследовательность, соответствующую входным данным и регулярному выражению. В случае успеха метод возвращает true, в противном случае — false. Когда средство сопоставления вызывает этот метод в первый раз, оно ищет во входных данных первую подпоследовательность, соответствующую регулярному выражению. Если метод find() возвращает true, то при повторном вызове метода сопоставления средство поиска начнет поиск с последней. подпоследовательность, которая успешно соответствует шаблону. Следующая подстрока, соответствующая шаблону. Кроме того, когда метод find возвращает true, сопоставитель может вызвать метод start() и метод end, чтобы получить начальную и конечную позиции подпоследовательности совпадающего шаблона во входных данных. Когда метод find возвращает true, средство сопоставления вызывает group(), чтобы на этот раз вернуть подстроку совпадающего шаблона, найденного методом find.
Средство сопоставления вызывает этот метод, чтобы определить, полностью ли входные данные соответствуют регулярному выражению.
Средство сопоставления вызывает этот метод, чтобы определить, существует ли подпоследовательность, соответствующая регулярному выражению из начала ввода. Если метод LookingAt() возвращает значение true, средство сопоставления вызывает метод start() и метод end, чтобы получить начальную и конечную позицию во входных данных подпоследовательности соответствующего шаблона, найденного методом LookingAt(). Если метод LookingAt() возвращает значение true, средство сопоставления вызывает функцию group(), чтобы вернуть подпоследовательность совпадающего шаблона, найденного методом LookingAt().
Сопоставитель вызывает этот метод, чтобы определить, есть ли на входе подпоследовательность, соответствующая регулярному выражению, начиная с позиции, указанной параметром start. Когда параметр start равен 0, этот метод имеет ту же функцию, что и LookingAt().
Средство сопоставления может вернуть строку, вызвав этот метод. Строка получается путем замены всех подстрок во входных данных, которые соответствуют регулярному выражению шаблона, на строку, указанную заменой параметра. Следует отметить, что сами входные данные не изменяются.
Сопоставитель вызывает этот метод для возврата строки, которая получается путем замены первой подстроки во входных данных, соответствующей регулярному выражению шаблона, на строку, указанную заменой параметра. Следует отметить, что сами входные данные не изменяются.