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