From Massimiliano Vessi Homepage

Linuxpedia: Espressione Regolare RE

Per imparare le espressioni regolari esiste il programma kregexpeditor e' fantastico, lo consiglio caldamente.

In Linux, soprattutto quando leggiamo le guide (info comando), troviamo spesso la frase "Regular Expression" oppure "RE", cosa significa?

Queste parole generalmente indicano che in quel punto dell'invocazione del comando noi possiamo utilizzare una "espressione regolare", cioe' possiamo mettere oltre che alla parola che intendiamo, una serie di caratteri che ci aiutano a descrivere piu' parole o a cercare una parola; le spressioni regolari permettono di formulare esattamente il criterio di ricerca. Sfortunatamente le espressioni regolari non usano i metacaratteri (come il carattere * che significa qualunque cosa.

Ma facciamo degli esempi per essere piu' chiari: immaginiamo di dover cercare un file, ma non ci ricordiamo esattamente come si chiama, ricordiamo solo che comincia per "leo". A questo punto, usando il metacarattere "jolly" * possiamo trovarlo, infatti basta digitare:

 $ locate leo* 
 /home/max/leonardo 
 /home/max/leone 
 /home/max/leopardo 
 /opt/leontcad 

Come vedete il simbolo asterisco mostra che puo' essere sostituito un qualsiasi numero di caratteri (sia lettere che numeri). I metacaretteri sono automaticamente interpretati (o come si dice in gergo "espansi") nel loro significato piu' largo.

Pero' nelle espressioni regolari il carattere asterico ha un altro significato!

Facciamo una lista dei caratteri speciali:

 $ locate pro* 
 /home/max/pr 
 /home/max/pro 
 /home/max/prooo 
 $ locate gat? 
 /home/max/gat 
 /usr/lib/gatt  
 $ ls [gfm]atto 
 gatto 
 fatto 
 matto 
Retrieved from http://www.maxvessi.net/pmwiki/pmwiki.php?n=Linuxpedia.EspressioneRegolareRE
Page last modified on May 26, 2010, at 12:56 AM