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

Метод lookingAt

Метод lookingAt класса Matcher пытается сопоставить регулярное выражение с началом входной последовательности. В отличие от метода matches, который требует полного совпадения всей строки, lookingAt проверяет только начало строки. Метод не принимает параметров и возвращает true, если начало строки соответствует шаблону, и false в противном случае. Важно, что при успешном совпадении метод не продвигает позицию сопоставления - она остаётся в начале строки, что позволяет вызывать lookingAt многократно с одним и тем же результатом.

Синтаксис

matcher.lookingAt()

Пример

Давайте проверим, начинается ли строка с последовательности цифр, используя метод lookingAt:

import java.util.regex.Matcher; import java.util.regex.Pattern; public class Main { public static void main(String[] args) { String str = "12345abcde"; Pattern pattern = Pattern.compile("\\d+"); Matcher matcher = pattern.matcher(str); boolean res = matcher.lookingAt(); System.out.println(res); } }

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

true

Пример

Давайте сравним работу методов lookingAt и matches на строке, которая начинается с совпадения, но не соответствует шаблону целиком:

import java.util.regex.Matcher; import java.util.regex.Pattern; public class Main { public static void main(String[] args) { String str = "12345abcde"; Pattern pattern = Pattern.compile("\\d+"); Matcher matcher = pattern.matcher(str); System.out.println("lookingAt: " + matcher.lookingAt()); System.out.println("matches: " + matcher.matches()); } }

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

"lookingAt: true" "matches: false"

Пример

Давайте проверим, что метод lookingAt не продвигает позицию сопоставления, и вызовем его дважды подряд:

import java.util.regex.Matcher; import java.util.regex.Pattern; public class Main { public static void main(String[] args) { String str = "abcde12345"; Pattern pattern = Pattern.compile("abc"); Matcher matcher = pattern.matcher(str); System.out.println(matcher.lookingAt()); System.out.println(matcher.lookingAt()); System.out.println(matcher.start()); } }

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

true true 0

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

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