|
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:
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:
| . |
qualsiasi carattere escluso il
new line (``\n'') |
| [a-z0-9] |
qualsiasi carattere di questo
insieme |
| [^a-z0-9] |
qualsiasi carattere esclusi
quelli di questo insieme |
| \d |
una cifra qualsiasi; equivalente
a ``[0-9]'' |
| \D |
un carattere che non sia una
cifra; equivalente a ``[^0-9]'' |
| \w |
un carattere alfanumerico;
equivalente a ``[a-zA-Z0-9]'' |
| \W |
un carattere non alfanumerico;
equivalente a ``[^a-zA-Z0-9]'' |
| \s |
un carattere di spaziatura
(spazio, tabulazione, new line, ecc.) |
| \S |
un carattere non di spaziatura |
| \n |
il carattere new line |
| \r |
il carattere return (ritorno
carrello) |
| \t |
il carattere di tabulazione |
| \f |
form feed, carattere di
avanzamento di pagina |
| \b |
backspace, cancellazione di un
carattere a sinistra |
| \0 |
null, il carattere nullo |
| \| |
il carattere ``|'' |
| \\ |
il carattere ``\'' |
| \* |
il carattere ``*'' |
| x? |
il carattere x ripetuto 0
o 1 volta |
| x* |
il carattere x ripetuto 0
o più volte |
| x+ |
il carattere x ripetuto
una o più volte |
| pippo |
la stringa ``pippo'' |
| aa|bb|cc |
la stringa ``aa''
oppure la stringa ``bb'' oppure la stringa ``cc'' |
| ^ |
la stringa inizia con
l'espressione regolare seguente |
| $ |
la stringa termina con
l'espressione regolare precedente |
Termini per la
composizione di una espressione regolare!
Lezione
successiva =>
Torna
all'indice
|