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

Розв’язання: Місто і країна

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

Код

if 'London-UK' ~~ / $<city>=(\w+) '-' $<country>=(\w+) / {
    say ~$<city>;
    say ~$<country>;
}

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

Вивід

London
UK

Коментарі

  1. $<city>=( … ) та $<country>=( … ) дають двом захопленням імена замість номерів.

  2. Після збігу їх зчитують назад як $<city> та $<country>, що читається зрозуміліше, ніж $0 і $1.

  3. Префікс ~ ставить кожне захоплення в рядковий контекст, щоб воно виводилося як звичайний текст; без нього say $<city> показав би об’єкт збігу як 「London」.

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

Місто і країна   |   Спочатку прізвище