Regex: storia e funzionamento
Quando si parla di Regex (Espressioni Regolari), si inquadra uno strumento molto utile per chi ha a che fare con il mondo dello sviluppo. Le Espressioni Regolari sono uno strumento utilizzato in numerosi linguaggi di programmazione. Tra questi, è possibile includere anche PHP e Javascript.
Formalizzate agli inizi degli anni Quaranta, hanno fatto il loro ingresso nel mondo informatico attorno agli anni Settanta e in ambiente Unix. Il primo editor di testo che ne ha permesso l’utilizzo è stata una versione di QED scritta da Ken Thompson, considerato uno dei pionieri di Unix.
Il suddetto editor, caratterizzato da una interfaccia a riga di comando, metteva a disposizione degli utenti un comando noto come global regular expression print. Quest’ultimo fu trasformato presto in un applicativo indipendente, ossia grep.
Almeno fino agli anni Ottanta le Espressioni Regolari non hanno goduto di grande popolarità. Le cose sono cambiate in seguito all’invenzione del linguaggio di programmazione Perl (apprezzato perché molto versatile), che consentiva nativamente il loro utilizzo.
Uscendo dal campo storico e passando a quello pratico, bisogna ricordare che i loro principali scopi sono il controllo della correttezza della sintassi e la manipolazione delle stringhe. Per concretizzare la validazione, è necessario confrontarle con uno o più modelli, i cosiddetti pattern.
Espressioni Regolari: da cosa sono formate?
Le Regex sono formate da diversi elementi. Ecco l’elenco completo:
- l Sequenza di caratteri, ossia una stringa che va interpretata nel suo significato letterale;
- l Metacaratteri, caso in cui l’interpretazione va invece oltre il significato letterale;
- l Ancore, elementi che segnalano la specifica posizione in cui la singola Espressione Regolare deve eseguire la sua analisi;
- l Modificatori, elementi che hanno la funzione di espandere o diminuire la porzione di testo che deve essere analizzata dalla singola Espressione.
A seconda del linguaggio di programmazione utilizzato, cambia il motore alla base del funzionamento delle Espressioni Regolari. Il quadro appena descritto non ha ripercussioni particolari per quel che concerne i comandi principali. Questi ultimi, infatti, sono uguali in tutti i linguaggi.
Come si crea una Espressione Regolare per verificare una stringa
Adesso è il momento di vedere come si crea una Regex per verificare una determinata stringa. Fondamentale è utilizzare comandi specifici. Ciascuno di essi, infatti, svolge una funzione ben precisa.
Partiamo dall’asterisco (*), essenziale per effettuare la ricerca del carattere o dell’insieme di caratteri che lo precede. Proseguiamo con il punto fermo (.), che serve a verificare tutti i caratteri, fatta eccezione per il ritorno a capo.
Tra i comandi si può trovare anche l’accento circonflesso (^), il cui compito è la verifica dell’inizio di una riga. Un caso specifico riguarda il suo inserimento all’interno di parentesi quadre. In questo caso, il comando nega la serie di caratteri che segue.
Da citare è anche il simbolo del dollaro che, se inserito alla fine di una Regex, verifica la fine di una riga. Molto importanti sono anche le parentesi quadre, che racchiudono al loro interno dei caratteri da verificare. Sulla base del loro contenuto, la verifica può essere fatta su diversi caratteri.
Proseguendo con l’elenco dei comandi, è possibile trovare anche il backslash (\), ossia il carattere di escape per il carattere speciale. Ciò significa in poche parole che il carattere viene interpretato letteralmente.
Concludiamo l’elenco dei comandi delle Espressioni Regolari citando le parentesi acute con escaping, le quali indicano inizio e fine di una determinata parola.
Parlare delle Regex in maniera completa vuol dire fare almeno un cenno finale al loro ruolo per chi fa SEO. Le Espressioni Regolari, infatti, possono essere utilizzate all’interno dei file .htaccess quando si deve effettuare un redirect 301 di tutto il sito web.
