Курс по Raku / Регулярни изрази и граматики / Регулярни изрази / Прихващания / Exercises / Разделете име на файл
Решение: Разделете име на файл
Ето едно възможно решение на задачата.
Код
if 'report.txt' ~~ / (\w+) '.' (\w+) / {
say ~$0;
say ~$1;
}🦋 Намерете програмата във файла split-filename.raku.
Изход
report
txtКоментари
Първата двойка скоби прихваща основното име в
$0, втората прихваща разширението в$1. Точката между тях е оградена в кавички, за да съпостави буквална., а не кой да е знак.~пред всяко прихващане го поставя в низов контекст, така че то се отпечатва като обикновен текст. Обикновенотоsay $0вместо това би показало обекта на съвпадението с ъгловите му скоби —「report」. Записътsay $0.Strправи същото катоsay ~$0.