Its pretty well the same thing asWell, you might want to point out how it's different. Laziness is a tendency, not a mandate. Adding a trailing "Q" to both regex shows the difference:
will match, skipping over the first bar because it's not followed by Q. However, the previous regex, followed by a Q will fail:"fooXbarYbarQ" =~ /(foo)(.{1,5}?)barQ/ # match entire string
because it can't "skip over" the first bar to get to the second one."fooXbarYbarQ" =~ /(foo)(((?!bar).){1,5})barQ/ # won't match
So, while lazy is good, it's not the only game in town, and you have to consider the rest of the regex before you know you can get away with lazy instead of inchworm.
-- Randal L. Schwartz, Perl hacker
Be sure to read my standard disclaimer if this is a reply.
In reply to Lazy vs Inchworm (was: Re^2: Why isn't this regex greedy?)
by merlyn
in thread Why isn't this regex greedy?
by Melly
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |