Hello,
I'm having some problem comprehending the regexp for my current need.
Example input (2 scenario):
1.
<<
/Filter
/FlateDecode
/Length 4169
stream
blablabla
endstream
<< >>
2.
<</Filter/FlateDecode/Length 4169>>
stream
blablabla
endstream
<< >>
I've trying to get the string after the string /Filter and the first
seen ">>" by using this regexp: /<<(.*)\/Filter(.*)>>/im
The problem is that, there is two >> in the input and the regexp takes
until the last >> it detected. How can I make it to get only until the
first >> that it detects ?
Thank you in advance
···
--
Posted via http://www.ruby-forum.com/\.
Ahmad,
Newbie here so take what I have to say with a grain of salt.
Your pattern is "greedy". To turn it into a lazy pattern add a
question mark thusly ...
/<<(.*)\/Filter(.*?)>>/
(untested)
Ralph
Monday, November 9, 2009, 2:43:12 AM, you wrote:
Hello,
I'm having some problem comprehending the regexp for my current need.
Example input (2 scenario):
1.
<<
/Filter
/FlateDecode
/Length 4169
stream
blablabla
endstream
<< >>
2.
<</Filter/FlateDecode/Length 4169>>
stream
blablabla
endstream
<< >>
I've trying to get the string after the string /Filter and the first
seen ">>>" by using this regexp: /<<(.*)\/Filter(.*)>>/im
The problem is that, there is two >> in the input and the regexp takes
until the last >>> it detected. How can I make it to get only until the
first >>> that it detects ?
···
Thank you in advance
--
Best regards,
Ralph mailto:ralphs@dos32.com
Ralph Shnelvar wrote:
Ahmad,
Newbie here so take what I have to say with a grain of salt.
Your pattern is "greedy". To turn it into a lazy pattern add a
question mark thusly ...
/<<(.*)\/Filter(.*?)>>/
(untested)
Ralph
Thanks for the reply.
Basically that's what I need. Thanks for pointing me towards new options
like "greedy". Because of that, I've been able to find new Ruby regex
reference like
Really appreciate that, thanks
···
--
Posted via http://www.ruby-forum.com/\.