Курс по Raku / Регулярни изрази и граматики / Регулярни изрази / Прихващания / Exercises / Град и държава
Решение: Град и държава
Ето едно възможно решение на задачата.
Код
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」.