next up previous contents
Next: awk Up: UNIX: Approfondimenti Previous: UNIX: Approfondimenti   Contents

Regular Expression (espressioni regolari o formali)

Es: La RE /ranc/ corrisponde alla sequenza "ranc" contenuta sia nella stringa "Francesco" che nella stringa "melarancia"

Es: /or.o/ corrisponde sia a "orto" che a "orco", che a ...

Una RE č composta da:

 

elemento: corrisponde a:
c il carattere (non-speciale) c
\c il carattere speciale c, preso letteralmente. Caratteri speciali: .*\[]$-¨'
. qualsiasi carattere
[abc...] uno qualsiasi dei caratteri abc...
[v-z] = [vwxyz]
[abc...] qualsiasi carattere eccetto abc...
[v-z] = [vwxyz]
inizio stringa
$ fine stringa

 

che si possono combinare nel modo seguente:

 

r1r2 l'espressione r1 seguita dall'espressione r2
r* l'espressione r ripetuta zero o pių volte
r+ l'espressione r ripetuta una o pių volte

 

Esempi:

RE

č contenuta in
(in neretto sottolineato
la corrispondenza)

non č contenuta in
/ranc/ ¨Francesco¨, ¨melarancia¨  
/or.o/ ¨orco¨, ¨orto¨ ¨oro¨
/si do/ ¨famosi dottori¨ ¨famosi  dottori¨
/[Ff]ranc/ ¨Francesco¨, ¨francesi¨, ¨Francia¨ ¨melarancia¨
/Franc.*a/ ¨Francesca¨, ¨Francia¨ ¨Francesco¨, ¨francesca¨
/[Ff]rancesc[oa]/ ¨Francesco¨, ¨Francesca¨, ¨francesco¨, ¨francesca¨, ¨Francescato¨, ¨Pierfrancesco¨ ¨Francia¨
/tel\.com/ ¨www.alcatel.com¨ ¨telecom¨
/car.*o/ ¨carota¨, ¨carico¨, ¨cartone¨ ¨cara¨, ¨Icaro¨
/car.*o$/ ¨Icaro¨ ¨carota¨
/bana[n]e/ ¨banale¨ ¨banane¨
/ta.*a/ ¨tanto va la gatta al lardo¨  

 

In generale, una RE corrisponde alla stringa pių lunga possibile.

Es: 

nella stringa "tanto va la gatta al lardo", la RE /ta.*a/ corrisponde alla sottostringa "tanto va la gatta al la".

 


next up previous contents
Next: awk Up: UNIX: Approfondimenti Previous: UNIX: Approfondimenti   Contents
Giorgio F. Signorini 2002-12-18