Курс по 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」.

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

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