Greetings, Laurent_R, and thanks for the reply.
Oh yes. I'm keen on the \n v \r v \n\r thing, and you're absolutely correct. Except, in my case, I'm on a *NIX box, and I've written the files myself. So I know they're utf-8 (no BOM), with newlines, no "hard" returns. :)
Maybe it's just the examples I was reading (perlrequick, perlretut, and perlfaq6) but I got the impression that Perl RE wasn't greedy. More Perl RE reading, I guess.
Thanks again, for the response Laurent_R.
--Chris
Yes. What say about me, is true.
| [reply] |
DB<1> $string = "foo bar foo bar foo";
DB<2> x $string =~ /(fo.*ar)/
0 'foo bar foo bar'
DB<3> x $string =~ /(fo.*?ar)/
0 'foo bar'
DB<4>
As you can see the default "*" quantifier is greedy, so that the regex tries to match as much as possible. Using the modified "*?" quantifier, the regex becomes non greedy. You will see the same type of result if you try the "+" and the "+?" quantifiers.
| [reply] [d/l] |
Thanks Laurent_R for the help.
Your example helps better explain why I got the impression Perl was not greedy, the way sed is. Most all the examples I read in the perldocs, used .*?. But my experiments, and re-training myself with Perl RE's. Seems to show, once I get out of the sed habits. Perl will be a lot more flexible, and powerful. I should have started this a l-o-o-n-g time ago. :P
Thanks again, Laurent_R. I really appreciate it.
--Chris
Yes. What say about me, is true.
| [reply] |