Questa settimana iniziamo una nuova mini serie dedicata alle espressioni regolari. I concetti che andremo a coprire non riguarderanno uno specifico linguaggio di programmazione, ma faremo degli esempi in JavaScript e PHP. Se vi ricordate avevamo peraltro già parlato nel nostro blog di espressioni regolari in PHP 😉
Un’espressione regolare (o regex), è una sintassi che ti consente di abbinare stringhe a modelli specifici. Pensala come una scorciatoia per la ricerca di testo potenziata, detto ciò devi sempre sapere che un’espressione regolare aggiunge la possibilità di utilizzare quantificatori, gruppi di pattern e caratteri speciali per creare modelli di ricerca estremamente avanzati.
Le espressioni regolari possono essere utilizzate ogni volta che è necessario eseguire query su dati basati su stringhe, ad esempio:
- Analisi dell’output della riga di comando
- Analisi dell’input utente
- Esaminare log del server o di un programma
- Gestione di file di testo con una sintassi coerente, come un CSV
- Lettura dei file di configurazione
- Ricerca e refactoring del codice
Tutte queste operazioni sono possibili ovviamente anche senza espressioni regolari, ma quando si ha a che fare con grandi quantità di testo, le regex ti potranno aiutare in modo considerevole.
Com’è fatta un’espressione regolare?
Per fare pratica con le espressioni regolari vi consigliamo di utilizzare il sito web gratuito https://regex101.com/ .
Nella sua forma piu semplice, un’espressione regolare assomiglia a una cosa come questa:
Nell’esempio “ipsum” le lettere test hanno formato il modello di ricerca, come una ricerca semplice.
Tuttavia, queste espressioni regolari non sono sempre così semplici. Ecco una regex che corrisponde a 3 numeri, seguiti da un “-“, seguito da 3 numeri, seguito da un altro “-“, infine terminato da 4 numeri.
^(?:\d{3}-){2}\d{4}$
Questa sintassi può spaventarti, ma in questa serie di articoli ti insegneremo a leggerla e capire come funziona.
Come vedi nella figura, l’espressione regolare definisce un criterio di ricerca. Nella parte sotto, dove abbiamo il testo in cui stiamo cercando, puoi vedere che la prima riga è evidenziata, perché il testo corrisponde al pattern di ricerca, mentre la seconda non è evidenziata, in quanto contiene dei caratteri che il nostro pattern non prevede (BBB).
Conclusione
Adesso sappiamo come funzionano le regex e a cosa servono. Nel prossimo articolo inizieremo a capire come leggere e scrivere espressioni regolari in base alle nostre necessità.