LXXXVII. Funzioni per le espressioni regolari (Perl compatibili)
La sintassi utilizzata dalle espressioni regolari di queste funzioni
ricorda da vicino Perl. Le espressioni regolari devono essere racchiuse
tra delimitatori, ad esempio /. Ogni carattere che non sia alfanumerico
od il backslash (\) pu� essere usato come delimitatore. Se il carattere
usato come delimitatore deve essere utilizzato all'interno
dell'espressione, questo deve essere preceduto dal carattere di escape (\). Infine, a partire dalla versione 4.0.4 di PHP, si possono anche usare
i delimitatori stile Perl come (), {}, [], ed <>.
Il delimitatore finale pu� essere seguito da vari modificatori
che agiscono sul criterio di riconoscimento. Per maggiori informazioni si rimanda al
capitolo Modificatori di criterio (Pattern Modifiers).
Utilizzando le funzioni POSIX-esteso
il PHP � in grado di supportare le espressioni regolari scritte con la sintassi POSIX-esteso.
Il supporto delle espressioni regolari � ottenuto mediante la
libreria PCRE, che � un software open source, scritto da Philip Hazel,
ed il cui copyright � detenuto dalla Universit� di Cambridge,
Inghilterra. La libreria � disponibile all'indirizzo
.
A partire dalla versione 4.2.0 di PHP queste funzioni sono abilitate
per default. Invece, nelle vecchie versioni, occorre configurare e
compilare il PHP con --with-pcre-regex[=DIR]
per attivare queste funzioni. Viceversa la funzioni PCRE possono essere
disabilitate utilizzando --without-pcre-regex.
Questa estensione non definisce
alcuna direttiva di configurazione
Questa estensione non definisce alcun tipo di risorsa.
Tabella 1. Costanti di PREG
costante | descrizione |
---|
PREG_PATTERN_ORDER |
Ordina i risultati in modo tale che $matches[0] sia l'array di tutti i testi
riconosciuti, $matches[1] sia l'array delle stringhe identificate dal primo
criterio posto tra parentesi, e cos� via. Questa costante si usa solo con
preg_match_all().
|
PREG_SET_ORDER |
Ordina i risultati in modo tale che $matches[0] sia l'array del primo set di testi
riconosciuti, $matches[1] sia l'array del secondo set, e cos� via.
Questa costante si usa solo con preg_match_all().
|
PREG_OFFSET_CAPTURE |
Vedere la descrizione di
PREG_SPLIT_OFFSET_CAPTURE. Questa costante � disponibile
a partire dalla versione 4.3.0 di PHP.
|
PREG_SPLIT_NO_EMPTY |
Questa costante indica a preg_split() di restituire
solo segmenti non vuoti.
|
PREG_SPLIT_DELIM_CAPTURE |
Questa costante indica a preg_split() di catturare
le espressioni tra parentesi nel criterio di delimitazione. Questa costante
� disponibile a partire dalla versione 4.0.5 di PHP.
|
PREG_SPLIT_OFFSET_CAPTURE |
Se viene impostato questo flag, per ogni testo riconosciuto viene restituito
l'offset nella stringa di ricerca. Occorre notare che questo cambia il tipo di valore
restituito nell'array, ogni elemento �, a sua volta, un'array composto dalla
stringa riconosciuta, all'indice 0, e dall'offset della stringa nell'indice
1. Questa costante � disponibile a partire dalla versione 4.3.0 di PHP
e si utilizza solo nella funzione preg_split().
|
Esempio 1. Esempi di espressioni di riconoscimento valide /<\/\w+>/ |(\d{3})-\d+|Sm /^(?i)php[34]/ {^\s+(\s+)?$}
|
Esempio 2. Esempi di espressioni errate
/href='(.*)' - manca il delimitatore finale
/\w+\s*\w+/J - il modificatore 'J' � sconosciuto
1-\d3-\d3-\d4| - manca il delimitatore iniziale
|
- Sommario
- Modificatori di criterio (Pattern Modifiers) -- Questo capitolo descrive i possibili modificatori
applicabili ad una espressione regolare
- Sintassi delle espressioni regolari -- Descrizione della sintassi utilizzata da PCRE
per la definizione delle espressioni regolari
- preg_grep --
Restituisce una matrice degli elementi riconosciuti tramite le espressioni regolari
- preg_match_all -- Esegue un riconoscimento globale con le espressioni regolari
- preg_match -- Riconoscimento con espressioni regolari
- preg_quote -- Inserisce il carattere di escape nei caratteri delle espressioni regolari
- preg_replace_callback -- Esegue ricerche e sostituzioni con espressioni regolari
usando il callback
- preg_replace -- Esegue una ricerca ed una sostituzione con le espressioni regolari
- preg_split -- Suddivisione di una stringa tramite le espressioni regolari