From: Duane Johnson Date: 2007-04-28T07:11:53+09:00 Subject: Re: regexp help needed Perhaps a little something like this: str = "1 'Not qualified' 2 'Overquota' 3 'Qualified'" rgx = /((\d+)\s+(\'[^']+?\'))+/i m = str.scan(rgx) m.each do |match| puts match.first end Duane Johnson (canadaduane) On 4/27/07, rpardee@gmail.com wrote: > Hey All, > > I need to parse lines that look like this: > > > 1 'Not qualified' 2 'Overquota' 3 'Qualified'/ > 1 'SSI' 2 'Mall Facility'/ > 1 'Real Interview' 2 'Practice Interview'/ > > > So I've got N sets of <><><> on > each line. I want to grab each of the digits & labels, but I'm having > trouble w/the repetition stuff. Below is a simple script that doesn't > work--it grabs the first set, but seems to ignore the rest. > > str = "1 'Not qualified' 2 'Overquota' 3 'Qualified'" > rgx = /((\d+)\s+(\'[^']+?\'))+/i > m = rgx.match(str) > unless m.nil? > m.captures.each {|c| puts(c)} > end > > Can anybody throw me a regex clue here? > > Thanks! > > - Roy > > > -- Duane Johnson (canadaduane)