Corso di Raku / Espressioni regolari e grammatiche / Espressioni regolari / Catture / Exercises / Dividete un nome di file
Soluzione: Dividete un nome di file
Ecco una possibile soluzione del compito.
Codice
if 'report.txt' ~~ / (\w+) '.' (\w+) / {
say ~$0;
say ~$1;
}🦋 Trova il programma nel file split-filename.raku.
Output
report
txtCommenti
La prima coppia di parentesi cattura il nome di base in
$0, la seconda cattura l’estensione in$1. Il punto fra di esse è fra virgolette perché riconosca un.letterale invece di un carattere qualunque.Il
~davanti a ogni cattura la mette in contesto stringa, così si stampa come testo semplice. Un semplicesay $0mostrerebbe invece l’oggetto match con le sue parentesi angolari,「report」. Scriveresay $0.Strfa lo stesso disay ~$0.