Курс языка программирования Raku / Регулярные выражения и грамматики / Регулярные выражения / Захваты / Exercises / Инициал и фамилия

Решение: Инициал и фамилия

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

Код

if 'J Smith' ~~ / $<initial>=(\w) ' ' $<surname>=(\w+) / {
    say ~$<surname>;
}

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

Вывод

Smith

Комментарии

  1. $<initial>=(\w) захватывает один словесный символ; $<surname>=(\w+) захватывает вереницу букв после пробела.

  2. Затем фамилию читают обратно по имени, как $<surname>, а префикс ~ печатает её как обычную строку; без него say $<surname> показал бы объект совпадения как 「Smith」.

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

Инициал и фамилия   |   Альтернативы