On Jun 10, 3:22 pm, GrzechG <grze... / DELITgazeta.pl> wrote: > > I want to parse a tagged string like this: "<i>this is</i><i>my > > string</i>" > > > i am doing: > > >>> "<i>this is</i><i>my string</i>".scan(/<i>(.*)<\/i>/) > > => [["this is</i><i>my string"]] > > > What i want is a regex that will return the *first* segment that > > matches. > > in the above case -> [["this is", "my string"]] > > The solution is : > > "<i>this is</i><i>my string</i>".scan(/<i>(.*?)<\/i>/) > => [["this is"], ["my string"]] > > The regexp scope is default maximum as is possible to find. > If you use '?' character you minimze the scope. > (.*?) instead of (.*) and the </i><i> part of string don't be include > into one result. > > Regards, > Grzegorz Golebiowski Thanks Grzegorz, nice trick!