J2. Caratteristiche delle espressioni regolari PCRE

Espressione regolare — un modello che viene confrontato con un testo da sinistra a destra. La maggior parte dei caratteri nel modello significa se stessa e viene applicata ai caratteri corrispondenti nel testo.

Il vantaggio principale delle espressioni regolari sta nella possibilità di includere nel modello varianti e ripetizioni. Vengono codificate attraverso metacaratteri che non significano sé stessi ma, invece, vengono interpretati in un modo particolare.

Esistono due set di metacaratteri diversi: quelli che si utilizzano fra parentesi quadre e quelli che si utilizzano fuori parentesi quadre. Li vediamo in dettagli. Fuori parentesi quadre si utilizzano i seguenti metacaratteri:

Carattere

Valore

\

carattere di controllo standard (escape) che permette diverse varianti di applicazione

^

dichiara l’inizio di linea (o di testo in modalità con diverse linee)

$

dichiara la fine di linea (o di testo in modalità con diverse linee)

.

corrisponde a qualsiasi carattere, ad eccezione del segno da capo (di default)

[

inizio di descrizione di classe dei caratteri

]

fine di descrizione di classe dei caratteri

|

inizio di un ramo alternativo

(

inizio di un subpattern

)

fine di subpattern

?

estende il valore (

inoltre quantificatore 0 o 1

inoltre quantificatore di minimizzazione

*

0 o più

+

1 o più

anche "quantificatore possessivo"

{

inizio di quantificatore minimale/massimale

La parte di modello tra parentesi quadre si chiama "classe di caratteri". In classe di caratteri, i metacaratteri sono:

Carattere

Valore

\

carattere di controllo standard (escape)

^

nega la classe, ma solamente se all'inizio della classe

-

definisce un intervallo di caratteri

[

classe dei caratteri POSIX (solo se seguito da sintassi POSIX)

]

chiude la classe dei caratteri