Le espressioni regolari

Le espressioni regolari sono utili per ricercare, sostituire o suddividere una stringa in più sottostringhe tramite un criterio logico.

Le espressioni regolari ( regular expressions, regexp o regex ) sono poco intuitive a prima vista ma anche molto utili per i developer perché semplificano l'attività di programmazione. Conoscerle può fare la differenza.

A cosa servono le espressioni regolari

Per capire l'utilità delle regex nella programmazione bisogna partire da un esempio pratico.

In un testo voglio selezionare soltanto le frasi tra parentesi.

Per farlo digito la seguente espressione regolare:

un esempio di espressione regolare

L'espressione regolare trova e seleziona soltanto le stringhe tra parentesi.

In questo modo ho evitato di sviluppare un programma molto più complesso.

Con una sola riga di codice estraggo soltanto le sottostringhe che mi interessano.

Come funziona? Nelle espressioni regolari ogni simbolo svolge una funzione. La prima parte dell'espressione trova la parentesi tonda di apertura. La seconda parte (w+) seleziona la stringa. Infine, la terza e ultima parte trova la parentesi di chiusura.
la spiegazione dell'espressione regolare

La storia delle espressioni regolari

Le espressioni regolari furono usate per la prima volta dal matematico statunitense Stephen Kleene nel 1950 per definire alcune operazioni sugli insiemi regolari.

Successivamente, negli anni '60 Ken Thompson implementò le regex nel suo editor QED rendendole d'uso comune a tutti i programmatori. Stiamo parlando della preistoria dell'informatica.

Da quel momento in poi le espressioni regolari si diffusero negli ambienti di sviluppo e developmente in particolar modo in ambiente Unix e non solo.

Nota. Forse le regular expressions sono una delle poche cose dell'informatica pioneristica a non essere diventata obsoleta nel corso del tempo. C'erano cinquant'anni fa e ci sono ancora oggi anche se in diverse versioni. Non si è mai affermato uno standard universale. La sintassi delle espressioni regolari varia da linguaggio a linguaggio.

Oggi le espressioni regolari sono usate abitualmente in molti linguaggi di programmazione. Basti ricordare il Python, il linguaggio C, Java, Javascript, Perl, Php, ecc.

Come scrivere e testare le espressioni regolari

Per scrivere un'espressione regolare è sufficiente usare un editor di testo ( es. notepad su Windows ).

Tuttavia, soprattutto agli inizi, è molto utile affidarsi a un regex tester.

A cosa serve un regex tester?

I regex tester consentono di testare il funzionamento di un'espressione regolare in tempo reale.

un esempio di regex tester

Un esempio di tester gratuito è Regex Coach.

Sul web si possono comunque trovare molti altri regex tester.

I caratteri speciali nelle espressioni regolari

Nelle espressioni regolari si utilizzano dei comandi di selezione detti caratteri speciali.

I principali caratteri speciali nelle regex sono i seguenti:

i caratteri speciali nel regex

Altri caratteri speciali sono caratterizzati dalla presenza di una barra inversa ( slash ) seguita da una lettera.

i caratteri speciali aggiuntivi nel regex

L'uso combinato dei caratteri speciali permette di estrarre dalla stringa soltanto le sottostringhe che soddisfano determinate caratteristiche ( matching ).

Esempi di espressioni regolari

Nella seguente espressione regolare voglio trovare tutte le parole composte da tre caratteri.

Per farlo utilizzo i comandi b ( bordi ) e w ( carattere della parola ).

come si trovano le parole di tre lettere con un'espressione regolare

Il comando b delimita i bordi della parola mentre il comando w ripetuto tre volte indica la presenza di tre caratteri alfanumerici.

In questo modo, l'espressione regolare seleziona soltanto le parole composte da tre caratteri.

 


 

Segnalami un errore, un refuso o un suggerimento per migliorare gli appunti

FacebookTwitterLinkedinLinkedin
knowledge base

Regular expressions