Il carattere jolly nelle espressioni regolari
Nelle espressioni regolari il carattere jolly è il simbolo del punto "."
A cosa serve? Il carattere jolly in una ricerca è il simbolo che consente di selezionare qualsiasi carattere della stringa.
Esempi pratici
Primo esempio
In un testo voglio cercare tutte le parole che contengono la lettera c ( minuscola ) seguita da due caratteri qualsiasi.
L'espressione regolare è la seguente:
La regex trova due occorrenze nella parola "cammin" e nella parola "oscura".
Entrambe soddisfano le regole di selezione ( matching ).
Secondo esempio
Adesso voglio trovare tutte le parole che contengono la lettera c ( minuscola ) seguita da due caratteri qualsiasi e dalla lettera a ( minuscola ).
Scrivo l'espressione regolare nel seguente modo:
Ora la regex seleziona soltanto la parola "oscura" perché è l'unica a rispettare le regole di matching.
La prima lettera è la "c" seguita da due caratteri qualsiasi ("ur") e dalla lettera "a".
Nota. La regex non seleziona più la parola "cammin" perché la lettera "c" è seguita da due caratteri qualsiasi ma il carattere successivo è la lettera"m".
Come cercare il punto nelle regex
Per cercare un carattere normale in un'espressione regolare basta digitare il carattere nel campo della ricerca.
Tuttavia, se digito semplicemente il punto "." la regex non trova il simbolo di punteggiatura bensì seleziona tutto il testo.
Perché la regex seleziona tutto il testo?
Nelle espressioni regolari il punto è il carattere speciale che permette di selezionare qualsiasi carattere.
Per considerarlo come un carattere normale va anteposta la barra inversa ( slash ).
Ora la regex lo tratta come un carattere normale e seleziona soltanto i punti che trova nel testo.
I falsi positivi del carattere jolly
Quando si utilizza il punto come jolly la regex seleziona qualsiasi carattere.
Il punto seleziona anche lo spazio in bianco tra le parole.
Se si utilizza il jolly senza altre regole di selezione, potrebbero verificarsi dei falsi positivi ossia delle sottostringhe che vorremmo non selezionare.