Successivo: regexp Perl, Precedente: Segnalare Bug, Su: Top [Contenuti][Indice]
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.