Corso di Raku / Espressioni regolari e grammatiche / Espressioni regolari / Riconoscere le stringhe
L’operatore smartmatch
L’operatore che applica un regex a una stringa è lo smartmatch
~~:
say 'the cat sat' ~~ /cat/; # 「cat」Uno schema scritto fra barre è la forma più comune, ma ce ne sono altre due che significano la stessa cosa e a volte sono più chiare:
say 'the cat sat' ~~ m/cat/; # 「cat」
say 'the cat sat' ~~ rx/cat/; # 「cat」La forma m/.../ sottolinea che stai
riconoscendo, ed è comoda quando vuoi aggiungere opzioni alla
corrispondenza (incontrerai quelle opzioni, chiamate avverbi, più avanti). La forma
rx/.../ costruisce un valore regex senza ancora
applicarlo.
Molto spesso ti interessa solo se la stringa ha corrisposto, non che
cosa esattamente sia stato trovato. Poiché una corrispondenza riuscita è
un valore vero e una fallita è falsa, puoi usare il risultato
direttamente in un contesto booleano. Il modo più pulito di ottenere un
semplice True o False è la funzione
so:
say so 'the cat sat' ~~ /cat/; # True
say so 'the cat sat' ~~ /dog/; # FalseQuesto rende un regex una condizione naturale per un
if:
if 'the cat sat' ~~ /cat/ {
say 'found it'; # found it
}Pratica
Risolvi 1 quiz sul contenuto di questo argomento.
Navigazione del corso
← Riconoscere le stringhe | Quiz — Smartmatch →
💪 Oppure vai direttamente agli esercizi di questa
sezione.