Linuxpedia

Espressione Regolare RE

Linuxpedia.EspressioneRegolareRE History

Hide minor edits - Show changes to output

May 26, 2010, at 12:56 AM by Massimiliano Vessi -
Changed lines 20-21 from:
; . : Un qualunque singolo carattere. 
; * : Il precedente carattere e' opzionale, ma puo' anche essere ripetuto.
to:
* . : Un qualunque singolo carattere. 
* * : Il precedente carattere e' opzionale, ma puo' anche essere ripetuto.
Changed line 27 from:
; ? : Il carattere precedente e' opzionale e sara' considerato al massimo una volta sola.
to:
* ? : Il carattere precedente e' opzionale e sara' considerato al massimo una volta sola.
Changed line 31 from:
; [...] : Permette di sostituire una serie di lettere o numeri tra le varie possibilita' indicate, per esempio [a-d] sostituisce le lettere tra a e d , mentre [3-6] tra 3 e 6, e [ax4d] o a o x o 4 oppure d.
to:
* [...] : Permette di sostituire una serie di lettere o numeri tra le varie possibilita' indicate, per esempio [a-d] sostituisce le lettere tra a e d , mentre [3-6] tra 3 e 6, e [ax4d] o a o x o 4 oppure d.
Changed lines 37-41 from:
; ^ : Se si controllano righe di testo con questo caratteri si controlla con cosa inizia la riga. Ma puo' avere anche valore di negazione all'interno delle parentesi quadre (non quelle comprese tra...) 
; $ : Se si controllano righe di testo con questo caratteri si controlla con cosa finisce la riga. 
; { N } : Il precedente carattere e' considerato esattamente N volte 
; { N, } : Il precedente carattere e' considerato almeno N volte 
; { N,M } : Il precedente carattere e' considerato tra le N e le M volte.
to:
* ^ : Se si controllano righe di testo con questo caratteri si controlla con cosa inizia la riga. Ma puo' avere anche valore di negazione all'interno delle parentesi quadre (non quelle comprese tra...) 
* $ : Se si controllano righe di testo con questo caratteri si controlla con cosa finisce la riga. 
* { N } : Il precedente carattere e' considerato esattamente N volte 
* { N, } : Il precedente carattere e' considerato almeno N volte 
* { N,M } : Il precedente carattere e' considerato tra le N e le M volte.
May 26, 2010, at 12:55 AM by Massimiliano Vessi -
Added lines 1-41:
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:
; . : Un qualunque singolo carattere. 
; * : Il precedente carattere e' opzionale, ma puo' anche essere ripetuto.
 $ locate pro*
 /home/max/pr
 /home/max/pro
 /home/max/prooo
 
; ? : Il carattere precedente e' opzionale e sara' considerato al massimo una volta sola.
 $ locate gat?
 /home/max/gat
 /usr/lib/gatt 
; [...] : Permette di sostituire una serie di lettere o numeri tra le varie possibilita' indicate, per esempio [a-d] sostituisce le lettere tra a e d , mentre [3-6] tra 3 e 6, e [ax4d] o a o x o 4 oppure d.
 $ ls [gfm]atto
 gatto
 fatto
 matto
 
; ^ : Se si controllano righe di testo con questo caratteri si controlla con cosa inizia la riga. Ma puo' avere anche valore di negazione all'interno delle parentesi quadre (non quelle comprese tra...) 
; $ : Se si controllano righe di testo con questo caratteri si controlla con cosa finisce la riga. 
; { N } : Il precedente carattere e' considerato esattamente N volte 
; { N, } : Il precedente carattere e' considerato almeno N volte 
; { N,M } : Il precedente carattere e' considerato tra le N e le M volte.

HomePage

Guide

Altro

Translate:

PubblicitĂ :

Licenza Creative Commons
DuckDuckGo

edit SideBar

edit TopNav

Blix theme adapted by David Gilbert, powered by PmWiki