Workstation online OnWorks Linux e Windows

Logo

Hosting online gratuito per workstation

<Precedenti | Contenuti | Succ.>

POSIX Base vs. Espressioni regolari estese

Proprio quando pensavamo che questo non potesse essere più confuso, scopriamo che POSIX divide anche le implementazioni delle espressioni regolari in due tipi: espressioni regolari di base (BRE) ed espressioni regolari estese (ERE). Le funzionalità che abbiamo trattato finora sono supportate da qualsiasi applicazione conforme a POSIX e che implementa BRE. I nostri grep programma è uno di questi programmi.

Qual è la differenza tra BRE ed ERE? È una questione di metacaratteri. Con BRE vengono riconosciuti i seguenti metacaratteri:

^ $. [ ] *

Tutti gli altri caratteri sono considerati letterali. Con ERE, vengono aggiunti i seguenti metacaratteri (e le loro funzioni associate):

( ) { } ? + |

Tuttavia (e questa è la parte divertente), i caratteri "(", ")", "{" e "}" sono trattati come metacaratteri in BRE if sono preceduti da una barra rovesciata, mentre con ERE, prima di qualsiasi metacarattere con una barra rovesciata, viene considerato come letterale. Qualsiasi stranezza che si presenta sarà trattata nelle discussioni che seguono.

Immagine

Poiché le funzionalità di cui parleremo in seguito fanno parte di ERE, dovremo utilizzare un diverso grep. Tradizionalmente, questo è stato eseguito dal egrep programma, ma la versione GNU di grep supporta anche le espressioni regolari estese quando il -E viene utilizzata l'opzione.


POSIX

Durante gli anni '1980, Unix divenne un sistema operativo commerciale molto popolare, ma nel 1988 il mondo Unix era in subbuglio. Molti produttori di computer avevano concesso in licenza il codice sorgente di Unix dai suoi creatori, AT&T, e fornivano varie versioni del sistema operativo con i loro sistemi. Tuttavia, nei loro sforzi per creare una differenziazione del prodotto, ogni produttore ha aggiunto modifiche ed estensioni proprietarie. Questo ha iniziato a limitare la compatibilità del software. Come sempre con

Immagine

POSIX Base vs. Espressioni regolari estese


fornitori proprietari, ognuno stava cercando di fare un gioco vincente di "lock-in" con i propri clienti. Questo momento oscuro nella storia di Unix è noto oggi come "la balcanizzazione. "

Entra nell'IEEE (Institute of Electrical and Electronics Engineers). A metà degli anni '1980, l'IEEE iniziò a sviluppare una serie di standard che avrebbero definito le prestazioni dei sistemi Unix (e simili a Unix). Questi standard, formalmente noti come IEEE 1003, definiscono il interfacce di programmazione dell'applicazione (API), shell e utilità che si trovano su un sistema standard simile a Unix. Il nome "POSIX", che sta per Interfaccia del sistema operativo portatile (con la "X" aggiunta alla fine per maggiore vivacità), è stato suggerito da Richard Stallman (sì, che Richard Stallman) ed è stato adottato dall'IEEE.


Il miglior sistema operativo cloud computing su OnWorks: