Espressione regolare
Un'espressione regolare (o "regex") è un modello di ricerca usato per trovare uno o più caratteri all'interno di una stringa. Può trovare caratteri specifici, caratteri jolly e intervalli di caratteri. In origine, le espressioni regolari erano usate dalle utilità di Unix, come vi e grep. Tuttavia, oggi sono supportate da molte applicazioni per la modifica del codice e da molti programmi di elaborazione testi su diverse piattaforme. Le espressioni regolari possono essere usate anche nella maggior parte dei principali linguaggi di programmazione.
Un'espressione regolare può essere semplice quanto una stringa di base, come "app". La regex "app" troverebbe le stringhe contenenti le parole "apps", "applications" e "inapplicable". Un'espressione regolare può contenere anche caratteri di ancoraggio ("^" e "$"), usati per specificare rispettivamente l'inizio e la fine di una riga. Pertanto, la regex "^apps" troverebbe la stringa "apps are great", ma non troverebbe la stringa "I like apps."
Le espressioni regolari possono includere trattini, usati per trovare un intervallo di caratteri, ad esempio tutte le lettere minuscole. Per esempio, la regex "[a-z]" troverebbe "apps", ma non troverebbe le stringhe "Apps" o "123". La regex "[A-Za-z]" troverebbe "Apps" e "[0-9]" troverebbe "123". Un punto, che è il carattere jolly standard nelle espressioni regolari, può essere usato per trovare qualsiasi carattere (tranne un carattere di fine riga). Un punto seguito da un asterisco (.*) trova zero o più occorrenze, mentre un punto seguito da un segno più (.+) trova una o più occorrenze.
Cosa succede, quindi, se è necessario trovare una stringa contenente un trattino, un asterisco, un segno più o un carattere di ancoraggio? Questi caratteri possono essere inclusi in un modello di espressione regolare tramite il "carattere di escape", usando una barra rovesciata ("\"). Per esempio, per cercare "$0.99", la regex sarebbe simile a "\$0\.99". Le barre rovesciate vengono usate anche per cercare caratteri non stampabili. Per esempio, "\r" trova un ritorno a capo, "\n" trova una nuova riga e "\t" trova un carattere di tabulazione.
Sebbene creare un'espressione regolare di base non richieda molto impegno, scrivere una regex avanzata non è un compito facile. Anche i programmatori più esperti raramente riescono a scrivere correttamente espressioni regolari complesse al primo tentativo. Tuttavia, se usate correttamente, le espressioni regolari sono uno strumento potente per cercare, trovare e sostituire testo specifico.
Metti alla prova le tue conoscenze