Курс Raku / Регулярні вирази та граматики / Регулярні вирази / Захоплення / Вправи / Місто і країна
Розв’язання: Місто і країна
Ось один із можливих варіантів розв’язання задачі.
Код
if 'London-UK' ~~ / $<city>=(\w+) '-' $<country>=(\w+) / {
say ~$<city>;
say ~$<country>;
}🦋 Вихідний код можна знайти у файлі city-and-country.raku.
Вивід
London
UKКоментарі
$<city>=( … )та$<country>=( … )дають двом захопленням імена замість номерів.Після збігу їх зчитують назад як
$<city>та$<country>, що читається зрозуміліше, ніж$0і$1.Префікс
~ставить кожне захоплення в рядковий контекст, щоб воно виводилося як звичайний текст; без ньогоsay $<city>показав би об’єкт збігу як「London」.