4.4.1 Le espressioni regolari
Le espressioni regolari vengono utilizzate da molti strumenti di elaborazione
del testo. Sono analoghe ai metacaratteri della shell (vedere Metacaratteri della shell, Sezione 4.3.8), ma molto pi�
complesse e potenti.
L'espressione regolare descrive il modello corrispondente da trovare ed � fatta
da caratteri di testo e da metacaratteri. Il metacarattere �
semplicemente un carattere con un significato speciale. esistono due stili
maggiori, BRE ed ERE, aseconda degli strumenti utilizzati, come descritto in Elaborazione del testo Unix-like, Sezione 4.4.
In ERE, i metacaratteri comprendono "\ . [ ] ^ $ *
+ ? ( ) { } |". L'espressione regolare significa:
-
c
-
\c
-
.
-
^
-
$
-
\<
-
\>
-
[abc...]
-
[^abc...]
-
r*
-
r+
-
r?
-
r1|r2
-
(r1|r2)
In BRE i metacaratteri "+ ? ( ) { } |"
perdono il loro significato speciale; al loro posto si usano le versioni con la
backslash "\+ \? \( \) \{ \} \|". Perci� il costrutto
(r1|r2) deve essere protetto come \(r1|r2\). Siccome
emacs
, sebbene sia di base BRE, tratta "+
?" come metacaratteri, non c'� necessit� di
proteggerli. Vedere
Espressioni sostitutive, Sezione
4.4.2 per come il costrutto viene utilizzato.
Per esempio, grep
pu� essere utilizzato per eseguita una ricerca
di testo mediante l'espressione regolare:
$ egrep 'GNU.*LICENSE|Yoyodyne' /usr/share/common-licenses/GPL
GNU GENERAL PUBLIC LICENSE
GNU GENERAL PUBLIC LICENSE
Yoyodyne, Inc., hereby disclaims all copyright interest in the program