Курс языка программирования Raku / Регулярные выражения и грамматики / Грамматики / Что такое грамматика / Exercises / Переиспользуйте токен

Решение: Переиспользуйте токен

Вот один из возможных вариантов решения задачи.

Код

my regex word { \w+ }

if 'cat dog' ~~ / <word> ' ' <word> / {
    say $<word>[0];
    say $<word>[1];
}

🦋 Исходный код можно найти в файле reuse-a-token.raku.

Вывод

「cat」
「dog」

Комментарии

  1. Одно и то же именованное регулярное выражение word вызывается в шаблоне дважды.

  2. Когда именованный захват встречается больше одного раза, результаты образуют список, поэтому их читают как $<word>[0] и $<word>[1].

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

Переиспользуйте токен   |   Год и месяц