Follow Techotopia on Twitter

On-line Guides
All Guides
eBook Store
iOS / Android
Linux for Beginners
Office Productivity
Linux Installation
Linux Security
Linux Utilities
Linux Virtualization
Linux Kernel
System/Network Admin
Programming
Scripting Languages
Development Tools
Web Development
GUI Toolkits/Desktop
Databases
Mail Systems
openSolaris
Eclipse Documentation
Techotopia.com
Virtuatopia.com

How To Guides
Virtualization
General System Admin
Linux Security
Linux Filesystems
Web Servers
Graphics & Desktop
PC Hardware
Windows
Problem Solutions
Privacy Policy

  




 

 

Debian GNU/Linux Reference Guide
Prev Home Next

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

    • Corrispondenza con il non-metacarattere "c".

  • \c

    • Corrispondenza con il carattere letterale "c".

  • .

    • Corrispondenza con qualsiasi carattere che includa una nuova riga.

  • ^

    • Corrispondenza con l'inizio di una stringa.

  • $

    • Corrispondenza con la fine di una stringa.

  • \<

    • Corrispondenza con l'inizio di una parola.

  • \>

    • Corrispondenza con la fine di una parola.

  • [abc...]

    • Questa lista di caratteri ha corrispondenza con uno qualsiasi dei caratteri "abc...".

  • [^abc...]

    • Questa lista di caratteri negat ha corrispondenza con qualsiasi carattere tranne quelli "abc...".

  • r*

    • Ha corrispondenza con nessuna o pi� espressioni regolari identificate da "r".

  • r+

    • Ha corrispondenza co una o pi� espressioni regolari identificate da "r".

  • r?

    • Ha corrispondenza con nessuna od una espressione regolare identificata da "r".

  • r1|r2

    • Ha corrispondenza con una delle espressioni regolari identificate da "r1" or "r2".

  • (r1|r2)

    • Ha corrispondenza con una delle espressioni regolari identificate da "r1" or "r2" e la tratta come una espressione regolare tra parentesi.

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

Debian GNU/Linux Reference Guide
Prev Home Next

 
 
  Published under the terms of the GNU General Public License Design by Interspire