--001485f80ea473a1720495b36698
Content-Type: text/plain; charset=ISO-8859-1

On Mon, Nov 22, 2010 at 2:33 PM, Guillermo Riojas <
guillermo.riojas / gmail.com> wrote:

> Hi there,
> Trying for a couple of hours (again without success) to create a regular
> expression that matches a multi-line statement , i found myself here
> again, asking for help.
> The case is now:
>
> <def>/123/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
> xxxxxxxxxxxxxxxxxxxxxxxxxxxxx
> <nop>xxxxx
> <tuv>xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
> xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
> xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
> <wxy>xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
> xxxxxxxxxxxxxxxxxxxxx
>
> I am unable to match the statements that contains multiple lines.
> The regexp looks so far like this:
>
> /(\<[a-z][a-z][a-z]\>.*?$)/m
>
> The question is why is only returning matches until the first end of
> line?
> I am sure the greediness of the expression should take him to the last
> new line character just before the next statement comes, but maybe is
> just that i need to read a lot more to understand the concept right.
> In any case, can somebody point me what i am missing to run the scan
> method and get each match (including the ones with multiple lines)?
>
> Thanks a lot.
>
> --
> Posted via http://www.ruby-forum.com/.
>
>
Hi, Guillermo, your regexp works for me. Perhaps you are using a method that
only looks for the first match.





str  <def>/123/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxx
<nop>xxxxx
<tuv>xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
<wxy>xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxx"

results  tr.scan( /(\<[a-z][a-z][a-z]\>.*?$)/m )

require 'pp'
pp results

# >> [["<def>/123/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"],
# >>  ["<nop>xxxxx"],
# >>  ["<tuv>xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"],
# >>  ["<wxy>xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"]]

--001485f80ea473a1720495b36698--