Successivo: , Precedente: , Su: Top   [Contenuti][Indice]


Appendice A Espressioni regolari estese

L’unica differenza tra le espressioni regolari di base e quelle estese sta nel comportamento di alcuni caratteri: ‘?’, ‘+’, parentesi, parentesi graffe (‘{}’), e ‘|’. Mentre nelle espressioni regolari di base devono essere protetti per comportarsi come caratteri speciali, nelle espressioni regolari estese devono essere protetti se si vuole che corrispondano a un carattere letterale. Il carattere ‘|’ qui è speciale perché ‘\|’ è un’espansione GNU – le espressioni regolari di base standard non forniscono la sua funzionalità.

Esempi:

abc?

diventa ‘abc\?’ usando le espressioni regolari estese. Corrisponde alla stringa ‘abc?’ letteralmente.

c\+

diventa ‘c+’ usando le espressioni regolari estese. Corrisponde a una o più ‘c’.

a\{3,\}

diventa ‘a{3,}’ usando le espressioni regolari estese. Corrisponde a tre o più ‘a’.

\(abc\)\{2,3\}

diventa ‘(abc){2,3}’ usando le espressioni regolari estese. Corrisponde sia a ‘abcabc’ che a ‘abcabcabc’.

\(abc*\)\1

diventa ‘(abc*)\1’ usando le espressioni regolari estese. I riferimenti all’indietro devono continuare a essere protetti usando le espressioni regolari estese.