Attualmente sto cercando di rexp una stringa in più variabili. Stringa di esempio:
ryan_string = "RyanOnRails: This is a test"
L'ho abbinato a questa regexp, con 3 gruppi:
ryan_group = ryan_string.scan(/(^.*)(:)(.*)/i)
Ora per accedere a ogni gruppo devo fare qualcosa del genere:
ryan_group[0][0] (first group) RyanOnRails
ryan_group[0][1] (second group) :
ryan_group[0][2] (third group) This is a test
Sembra abbastanza ridicolo e mi sembra di fare qualcosa di sbagliato. Mi aspetterei di poter fare qualcosa del genere:
g1, g2, g3 = ryan_string.scan(/(^.*)(:)(.*)/i)
È possibile? O c'è un modo migliore di come lo sto facendo?
one, two, three = string.match(/(^.*)(:)(.*)/i).captures
in:one, two, three = string.match(/(^.*)(:)(.*)/i).try(:captures)