Ruby – Regexp II

r5
Le espressioni regolari —regexp— sono uno strumento molto potente come sanno i programmatori Perl, awk e simili. Non sempre sono facili da usare, anzi…

regexp

Ci sono interi manuali, fatti di esempi, manca sempre quel che  serve 😦
Nel nostro caso abbiamo ancora un problema aggiuntivo: gli esempi riportati dalla nostra guida abituale sono riferiti a una versione vecchia e non funzionano. Propongo di usare Zetcode, ecco un esempio (z1.rb):

#!/usr/bin/ruby
# encoding: UTF-8

#z1.rb

puts "Her name is Jane" =~ /name/

puts $`
puts $&
puts $'

z1

La frase viene trattata con l’operatore ~ che restituisce il numero di parole e setta 3 variabili speciali contenenti rispettivamente il testo prima di quello cercato, quello cercato e quello successivo.

Naturalmente una condizione più realistica, con variabili sarebbe simile alla seguente (z2.rb):

#!/usr/bin/ruby
# encoding: UTF-8

#z2.rb

frase = "Her name is Jane"
n = frase =~ /name/

prima = $`
trovato = $&
dopo = $'
puts n
puts prima, trovato, dopo

Il risultato è, naturalmente, identico al precedente.
Ecco questo è un esempio elementare, siamo solo all’inizio. Ma non credo serva per un corso introduttivo, chi fosse interessato può googlare, per esempio ecco questo, questo e questo.

Basta con le regexp, il prossimo post sarà, salvo imprevisti, sulla grafica: finestre, pulsanti e roba simile 😉

Annunci
Post a comment or leave a trackback: Trackback URL.

Rispondi

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...

%d blogger hanno fatto clic su Mi Piace per questo: