From: mutahhir hayat Date: 2008-04-02T23:31:13+09:00 Subject: Re: Regexp Capture Access ------=_Part_505_8226632.1207146663428 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Content-Disposition: inline The reason why it's acting like this is because Regexes try to find the largest possible match from your expression. Hence, your expression %r{(\w,)+}.match('a,b,c')[0] will return the first match (and largest) "a,b," Im sure you're asking this for a bigger reason, so you have to refine your regular expression for that specific purpose. if you just want to split based on a "," then simply do 'a,b,c'.split(',') which returns an array ["a", "b", "c"] If any other, please post the actual problem. HTH Mutahhir. On Wed, Apr 2, 2008 at 10:04 PM, Mateusz Tybura wrote: > Try: > > %r{(\w,)+}.match('a,b,c').to_s[0..1] #=> "a," > > 2008/4/2, Oliver Saunders : > > > > Given that: > > > > %r{(\w,)+}.match('a,b,c')[0] #=> "a,b," > > > > and > > > > %r{(\w,)+}.match('a,b,c')[1] #=> "b," > > > > How do I access the capture that contains "a,"? > > > > -- > > Posted via http://www.ruby-forum.com/. > > > > > > > -- > My own blog (in polish) : > wujciol.yoyo.pl > ------=_Part_505_8226632.1207146663428--