From: Robert Klemme Date: 2003-12-12T23:52:01+09:00 Subject: Re: regexp for $(text) "Emmanuel Touzery" schrieb im Newsbeitrag news:3FD99DCC.2020001@wanadoo.fr... > Emmanuel Touzery wrote: > > > Szymon Drejewicz wrote: > > > >> I have string > >> a = "ala $(ela) ola $(tola) lola $(p_ola) ". > >> > >> And I need some magic function that works this way: > >> > >> >> puts a.params > >> ["ela", "tola", "p_ola"] > >> > >> How to do this? > > > > > > just escape the ( and the $. > > > > irb(main):001:0> a = "ala $(ela) ola $(tola) lola $(p_ola) " > > => "ala $(ela) ola $(tola) lola $(p_ola) " > > irb(main):002:0> a.scan /\$\((\w+)\)/ > > => [["ela"], ["tola"], ["p_ola"]] > > irb(main):003:0> > > > > emmanuel > > > btw if you just want a one-depth array: > > irb(main):004:0> a.scan(/\$\((\w+)\)/).flatten > => ["ela", "tola", "p_ola"] Also: irb(main):010:0> a.scan(/\$\(([^)]*)\)/).map{|m| m[0]} => ["ela", "tola", "p_ola"] irb(main):011:0> robert