<Precedenti | Contenuti | Succ.>
Metacaratteri e letterali
Anche se potrebbe non sembrare evidente, il nostro grep Le ricerche hanno sempre utilizzato espressioni regolari, sebbene molto semplici. L'espressione regolare "bzip" si intende che una corrispondenza si verificherà solo se la riga del file contiene almeno quattro caratteri e se da qualche parte nella riga i caratteri "b", "z", "i" e "p" si trovano in quell'ordine, senza altri caratteri intermedi. I caratteri nella stringa "bzip" sono tutti caratteri letterali, in quanto corrispondono a se stesse. Oltre ai letterali, le espressioni regolari possono anche in-
clude metacaratteri che vengono utilizzati per specificare corrispondenze più complesse. I metacaratteri delle espressioni regolari sono i seguenti:
^ $ . [ ] { } - ? * + ( ) | \
Tutti gli altri caratteri sono considerati letterali, sebbene il carattere barra rovesciata venga utilizzato in alcuni casi per creare metasequenze, oltre a consentire che i metacaratteri vengano sottoposti a escape e trattati come letterali anziché essere interpretati come metacaratteri.
Nota: come possiamo vedere, molti dei metacaratteri delle espressioni regolari sono anche caratteri che hanno un significato per la shell quando viene eseguita l'espansione. Quando passiamo espressioni regolari contenenti metacaratteri sulla riga di comando, è fondamentale che siano racchiusi tra virgolette per impedire alla shell di tentare di espanderli.