Курс языка программирования Raku / Регулярные выражения и грамматики / Регулярные выражения / Утверждения просмотра

Просмотр назад

Просмотр назад проверяет, что идёт непосредственно перед текущей позицией:

  • <?after …> — срабатывает, если текст позади совпадает (положительный просмотр назад)
  • <!after …> — срабатывает, если текст позади не совпадает (отрицательный просмотр назад)

Это позволяет сопоставить что-то только из-за того, что ему предшествует, не включая этот префикс в результат. Например, захватим цифры, следующие за знаком доллара, оставив сам $ вне совпадения:

if '$100' ~~ / <?after '$'> \d+ / {
    say $/; # 「100」
}

Утверждение <?after '$'> требует, чтобы прямо перед текущей позицией стоял $, а затем \d+ сопоставляет цифры. Совпадение — 100, без знака доллара.

Просмотр вперёд и назад часто сочетают. Кусочек текста, обёрнутый в <?after …> и <?before …>, совпадает только тогда, когда стоит между нужными соседями, — удобный способ извлечь значение из известного контекста.

Практика

Пройдите 1 тест по содержанию этой темы.

Навигация по курсу

Тест — Просмотр вперёд   |   Тест — Утверждения


💪 Или перейдите сразу к упражнениям этого раздела.