Espressioni Regolari Basi

Vedi tutte le pagine e le modifiche recenti o scarica i sorgenti nella pagina


Abbiamo gia visto come si creano delle semplici espressioni regolari:
 >> rgx= /esp/
 => /esp/ 
 >> rgx= Regexp.new("esp")
 => /esp/
ora vediamo cose piu’ interessanti. Sappiamo che una stringa da cercare viene espressa cosi’:
 /stringa/

ad esempio /via/ effettuera’ il match, cioe’ trovera una corrispondenza, sia in “ferrovia” che in “funivia”, che in “viadotto”. Se volessimo solo le parole che finiscono con “via” dovremmo usare un carattere speciale (in genere si dicono metacaratteri), il dollaro (“$“).

Questo carattere indica la fine di una riga:
 >> rgx= /via$/
 => /via$/
 >> 'ferrovia' =~ rgx
 => 5
 >> 'viadotto' =~ rgx
 => nil
Il gemello di “$” e’ “^”, che significa inizio della riga:
 >> rgx= /^via/
 => /^via/
 >> 'ferrovia' =~ rgx
 => nil
 >> 'viadotto' =~ rgx
 => 0
Ovviamente una espresione regolare puo’ usare entrambi i meccanismi insieme:
 >> rgx= /^via$/
 => /^via$/
 >> 'viadotto' =~ rgx
 => nil
 >> 'ferrovia' =~ rgx
 => nil
 >> 'via' =~ rgx
 => 0
Niente di assurdo, finora. Ovviamente le espressioni regolari sono molto piu’ potenti di cosi’, ma per questa pagina di wiki puo’ bastare :)
Updated on May 28, 2007 15:35 by luca (79.12.186.81)