In questo contesto parlando di espressioni regolari intenderemo una
espressione costruita secondo una sintassi ben precisa che ci permette di
descrivere uno schema di stringa.
Senza entrare in ulteriori dettagli cerchiamo di capire questo concetto
mediante un esempio elementare. Supponiamo di voler ``descrivere'' tutte le
stringhe composte secondo il seguente schema: un numero con un qualsiasi numero
di cifre, un carattere di spaziatura o tabulazione ed una parola composta da
caratteri qualsiasi. Con una espressione regolare diventa banale descrivere
questa ``ricetta'' di composizione di una stringa:
\d+\s.+
I primi due caratteri ``\d'' indicano la presenza di un carattere
numerico (0, 1, 2, ..., 9); il carattere ``+'' che segue una certa
sequenza indica che il carattere rappresentato può essere ripetuto una o più
volte. La sequenza ``\s'' indica un qualsiasi carattere di spaziatura o
di tabulazione. Infine il punto ``.'' indica un carattere qualsiasi e
il simbolo ``+'' finale sta ad indicare che questo carattere può essere
ripetuto una o più volte.
Questa espressione regolare descriverà quindi stringhe del tipo ``1234
pippo'', ``1 ab$\%&xy'', ``1 2''. Le seguenti
stringhe invece non risultano ``descritte'' dalla precedente espressione
regolare: ``a b'', ``pippo'', ``albero casa'',
``1+3=4''.
La seguente tabella descrive sinteticamente i termini che possono comporre
una epressione regolare: