I have to capture by means of regexp the content between '<' and '>' as instance: str = 'anystring<hour>anystring<min>anystring<sec>anystring' I need the array['hour','min,'sec'] I have written the regexp: /(<([^<>]+)>)+/ and I have tested it in rubular.com site (It work !) I have run it in irb: >> /(<([^<>]+)>)+/.match('anystring<hour>anystring<min>anystring<sec>anystring') => #<MatchData "<hour>" 1:"<hour>" 2:"hour"> >> As you can see match method return just the first match in MatchData obj Do you know why ? thank you, Alessandro -- Posted via http://www.ruby-forum.com/.