Next: awk
Up: Uso ``avanzato'' di UNIX
Previous: ``Editare'' una directory (dired)
Contents
- Sono espressioni che descrivono sequenze di caratteri. Vengono usate
in funzioni e comandi (come grep o awk) che effettuano
una ricerca di sequenze di caratteri all'interno di righe o stringhe.
- Si dice che c'è corrispondenza (match) tra una RE e una sequenza
di caratteri contenuta in una stringa (e v.v.)
- La forma più semplice di una RE è una pura sequenza di caratteri,
che corrisponde soltanto alla sequenza stessa:
Es: La RE /ranc/ corrisponde alla sequenza "ranc"
contenuta sia nella stringa "Francesco"
che nella stringa "melarancia"
- Con caratteri speciali si possono costruire RE che corrispondono a
più di una sequenza di caratteri. Ad es., il punto (.) rappresenta
un qualsiasi carattere.
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:
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: awk
Up: Uso ``avanzato'' di UNIX
Previous: ``Editare'' una directory (dired)
Contents
Giorgio F. Signorini
2011-11-14