From: Simon Strandgaard Date: 2005-12-14T21:32:52+09:00 Subject: Re: string mangling On 12/14/05, Martin Pirker wrote: > Imagine an input string > aaaaabbccccceeebbbbbbbbbbeaaabaacccceeee... > > I have regexp for the parts a,b,c > and e can be considered as else. > > So how can I efficiently search/step through the string from left to > right, while calling for each section the fitting handler, kind of irb(main):001:0> s = 'aaaaabbccccceeebbbbbbbbbbeaaabaacccceee' => "aaaaabbccccceeebbbbbbbbbbeaaabaacccceee" irb(main):002:0> s.scan(/(a+)|(b+)|(c+)|([^abc]+)/) => [["aaaaa", nil, nil, nil], [nil, "bb", nil, nil], [nil, nil, "ccccc", nil], [nil, nil, nil, "eee"], [nil, "bbbbbbbbbb", nil, nil], [nil, nil, nil, "e"], ["aaa", nil, nil, nil], [nil, "b", nil, nil], ["aa", nil, nil, nil], [nil, nil, "cccc", nil], [nil, nil, nil, "eee"]] irb(main):003:0> -- Simon Strandgaard