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

Решение: Разберите полное имя

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

Код

grammar FullName {
    token TOP   { <first> ' ' <last> }
    token first { \w+ }
    token last  { \w+ }
}

say FullName.parse('Grace Hopper')<last>;

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

Вывод

「Hopper」

Комментарии

  1. TOP описывает имя целиком; first и last описывают его части, а между ними стоит буквальный пробел.

  2. После разбора каждый токен становится именованным захватом, поэтому фамилию читают у объекта совпадения как <last>.

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

Разберите полное имя   |   Разберите хештег