From: 7stud -- Date: 2007-11-01T14:20:36+09:00 Subject: Re: String#split and groups in the field separator RE mortee wrote: > Is this expected behaviour? I haven't seen anything related to this > mentioned in the API docs... > > irb(main):057:0> s = 'a::b:::c::::d' > => "a::b:::c::::d" > irb(main):058:0> s.split(/:/) > => ["a", "", "b", "", "", "c", "", "", "", "d"] => OK > irb(main):059:0> s.split(/:+/) > => ["a", "b", "c", "d"] => OK > irb(main):060:0> s.split(/(:)+/) > => ["a", ":", "b", ":", "c", ":", "d"] => ? > irb(main):061:0> s.split(/((:)+)/) > => ["a", "::", ":", "b", ":::", ":", "c", "::::", ":", "d"] => ??? > irb(main):062:0> s.split(/(:+)/) > => ["a", "::", "b", ":::", "c", "::::", "d"] => ??? > It was unexpected behavior for me when I ran into it using python's regex split() function a few months ago. Since it works the same way in both languages, I would guess it might be a universal regex trait. -- Posted via http://www.ruby-forum.com/.