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

Решение: Год и месяц

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

Код

my regex year  { \d ** 4 }
my regex month { \d ** 2 }

if '2025-06' ~~ / <year> '-' <month> / {
    say $<year>;
    say $<month>;
}

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

Вывод

「2025」
「06」

Комментарии

  1. Объявлены два именованных регулярных выражения, каждое описывает один кусочек даты: четырёхзначный year и двузначный month.

  2. Шаблон соединяет их буквальным дефисом между, и каждое захватывается под собственным именем. Сборка большего шаблона из небольших именованных частей — ровно та идея, которую формализует грамматика.

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

Год и месяц   |   Создание грамматик