On 14 Dec 2000, Randal L. Schwartz wrote:
> >>>>> "Deven" == Deven T Corzine <[EMAIL PROTECTED]> writes:
>
> Deven> I haven't even SEEN an example where the current behavior is
> Deven> actually preferable than my proposed behavior, have you? (And
> Deven> I'd expect at least a FEW, though I suspect there are probably
> Deven> more counterexamples.)
>
> If I want the leftmost B that is followed by the shortest number
> of characters to get to a D, I write /B.*?D/. The "leftmost" part
> keeps getting left out of regex discussions, and maybe that's why
> you're thrown off. But it's a pretty consistent overriding factor.
That's not an example, that's a hypothetical. I meant that I've never seen
a concrete, realistic example where the current behavior is more beneficial
to the programmer than my proposed behavior. (I imagine in most cases, it
will be a moot point, since the match will usually be the same.)
> If you want something odd like "not necessarily the leftmost", then
> you'll need to speak more. But "leftmost" is fundamental to the
> design of regex. Don't mess with that. Or don't call it a regex any
> more.
Strange argument. Greedy matching was once considered fundamental to the
design of regex, and the "leftmost" behavior is 100% consistent with greedy
matching. Yet Perl 5 added non-greedy modifiers, changing a fundamental
aspect of every preceding regex system, and still called it a regex...
Extending the design of the regex system to allow for non-greedy matching
was an excellent extension, and made Perl 5's regular expressions far more
powerful than anyone else's. But they're certainly different than before.
I wish I had been involved in the discussions when the idea of non-greedy
matching was proposed and the details ironed out. I don't think my ideas
would have had the same kind of concerted opposition back then as now...
Deven