Precedente: Dettagli sugli operatori di regexp, Su: Operatori di espressioni regolari [Contenuti][Indice]
Le espressioni di intervallo non erano tradizionalmente disponibili in
awk
. Sono state aggiunte come parte dello standard POSIX per
rendere awk
ed egrep
coerenti tra di loro.
In passato, poiché vecchi programmi possono usare ‘{’ e ‘}’ in
costanti regexp,
gawk
non riconosceva espressioni di intervallo
nelle regexp.
Comunque, a partire dalla versione 4.0,
gawk
riconosce espressioni di intervallo per default.
Ciò accade perché la compatibilità con POSIX è ritenuta più
importante da molti utenti gawk
rispetto alla compatibilità con
dei vecchi programmi.
Per programmi che usano ‘{’ e ‘}’ in costanti regexp,
è buona pratica proteggerli sempre con una barra inversa. Allora le
costanti regexp sono valide e si comportano come desiderato, usando
qualsiasi versione di awk
.17
Infine, quando ‘{’ e ‘}’ appaiono in costanti regexp
in un modo non interpretabile come espressione di intervallo
(come in /q{a}/
), allora sono prese letteralmente.
Come detto sopra, le espressioni di intervallo non erano tradizionalmente
disponibili in awk
. Con la versione di Marzo 2019 di
BWK awk
sono (finalmente) disponibili.
Ciononostante, non essendo state disponibili per parecchi decenni,
gawk
continua a non renderle disponibili quando viene
eseguito in modalità compatibile (vedi la sezione Opzioni sulla riga di comando).
È meglio usare due barre inverse se si sta usando una costante stringa con un operatore regexp o una funzione.