On 6/10/07, Trochalakis Christos <yatiohi / ideopolis.gr> wrote:
> 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!
>
You are welcome ;)
Robert


-- 
You see things; and you say Why?
But I dream things that never were; and I say Why not?
-- George Bernard Shaw