Курс Raku / Регулярні вирази та граматики / Регулярні вирази / Захоплення / Вправи / Ініціал і прізвище

Розв’язання: Ініціал і прізвище

Ось один із можливих варіантів розв’язання задачі.

Код

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

🦋 Вихідний код можна знайти у файлі initial-and-surname.raku.

Вивід

Smith

Коментарі

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

  2. Прізвище потім зчитують назад за іменем як $<surname>, а префікс ~ виводить його як звичайний рядок; без нього say $<surname> показав би об’єкт збігу як 「Smith」.

Навігація курсом

Ініціал і прізвище   |   Альтернативи