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.