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!