On Thu, 14 Dec 2000, James Mastros wrote: > On Thu, Dec 14, 2000 at 04:10:12PM -0500, Deven T. Corzine wrote: > > The crux of the problem is that non-greedy qualifiers don't affect the > > "earliest match" behavior, which makes the matches more greedy than they > > really ought to be. > Right. We've got a terminoligy issue. There's two axes here: Not the only terminology issue, but I've addressed that in other messages. > Greed: Greedy by default. Will try to match as many chars after its > starting point as possible. Non-greedy will try to match as few chars after > its starting point as possible, and is denoted by putting a '?' after a > quantifer. > > Lazyness: Eager by default. An eager assertation will try to match as early > as possible. It isn't possible to use lazy assertations at present. (Not > simply, anyway. It's probably possible to combine other (?) features to get > the same effect.) > > You seem to want the choice between greedy, eager assertations, and > non-greedy, lazy assertations. If you came up with a good way to specify > along both axes, I think we'd have a winner. I want the maximum level of OVERALL consistency for regular expressions as a whole, rather than immutable adherence to the "leftmost trumps nongreedy" rule currently in place. Most of the time, I agree with the precedence of leftmost over nongreedy. The example I gave is a case where I believe the strict adherence to the leftmost rule actually introduces complexity and makes the regular expression system less self-consistent. I don't know if anyone else will ever believe me or not. DevenThread Previous | Thread Next