Note: Testo rimosso dalla rev 5  e Testo aggiunto nella rev6

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 :)
Created on May 24, 2007 09:56 by Ruby Fan (82.188.172.210)