Beefy Boxes and Bandwidth Generously Provided by pair Networks
Pathologically Eclectic Rubbish Lister
 
PerlMonks  

Re: Perl6: too bad non-greediness is not made the default

by Juerd (Abbot)
on Jul 06, 2002 at 14:22 UTC ( #179827=note: print w/ replies, xml ) Need Help??


in reply to Perl6: too bad non-greediness is not made the default
in thread Parsing with Perl 6

The only thing I regret is that matching non greediness has not been made the default.

Non-greediness is only useful if you have something following the non-greediness. For example, /(\d*)/ would not be useful at all: it would always succeed, matching and capturing an empty string. /(\d+)/ would be equivalent to /(\d)/, because a non-greedy expression doesn't take more than the absolute minimum.

If you use non-greedy quantifiers now, think about the efficiency that is gained by re-writing for greediness. Suppose you have /"(.*?)"/ - it can be written as /"([^"]*)"/, which is much more efficient. With backtracking disabled, as jryan did in his example (with the new : meta character), it's even more efficient (in case the subject string is not well formed).

- Yes, I reinvent wheels.
- Spam: Visit eurotraQ.


Comment on Re: Perl6: too bad non-greediness is not made the default
Select or Download Code
Re: Re: Perl6: too bad non-greediness is not made the default
by stefp (Vicar) on Jul 06, 2002 at 15:46 UTC
    I guess TIMTOWTDI. It is a question of emphasis, yours is on performance, mine is on readability and incremental building.

    If I combine my idea of (ab)?using .* with the concept that one can hack perl6 to make one's own language, I would define a modifier that would turn consecutive non breaking line spaces into an implicit .*? subregex with ? having its traditional meaning of non greediness. I am not sure it would be a so good idea though. Will be a good exercice anyway.

    -- stefp -- check out TeXmacs wiki

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://179827]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others about the Monastery: (12)
As of 2014-08-01 14:55 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    Who would be the most fun to work for?















    Results (25 votes), past polls