Beefy Boxes and Bandwidth Generously Provided by pair Networks
good chemistry is complicated,
and a little bit messy -LW

Re^2: How do I optimize a regular expression?

by kyle (Abbot)
on Dec 07, 2009 at 16:50 UTC ( #811548=note: print w/replies, xml ) Need Help??

in reply to Re: How do I optimize a regular expression?
in thread How do I optimize a regular expression?

You're correct about my poor man's comments. I didn't know about (?# ... ) comments or I'd have used that. Thanks!

To split on white space might be a good idea for this application, and I may try that, but I'm more interested in how to make expressions work faster.

I don't really understand how backtracking works, so I don't know when (?> ... ) can be used. I probably ought to spend a day in perlre or something.

I'm actually doing my development with Perl 5.10, but the machine it ultimately has to run on has only 5.8.8. Now I'm really wondering how hard it would be to upgrade it.

Thanks for your help!

Replies are listed 'Best First'.
Re^3: How do I optimize a regular expression?
by moritz (Cardinal) on Dec 07, 2009 at 17:02 UTC
    but I'm more interested in how to make expressions work faster

    Then I'll try to give you a few general hints:

    • Learn about backtracking, and make sure you avoid it wherever possible
      • Anchor your regexes if possible
      • Try to avoid .*? and .*
      • Use backtracking-suppressing groups whenever possible
    • Try to use literal strings where possible. The regex engine is smart enough to anchor them automatically as an optimization (in certain cases)
    • Only capture (with (...)) when you actually need it

    Regexp::Assemble promises (among other things) to bring the power of trie optimizations to earlier perls, maybe it's worth a try (and less hassle than updating your perl version).

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://811548]
[erix]: (eh, I meant the single-slit experiment)
[james28909]: what if our whole universe is the result of someoneviewing the big bang before it happened? and BANG, wave function collapses and all that matter comes out and creates the universe
[james28909]: who knows though
[holli]: There is a book called "Cosm" in which something like that happens. A particle accelerator accident creates a new universe in which time goes superfast
[erix]: tall story, jim
[james28909]: " I'd even let him grab my mums pussy if that helps :-D" im dead xD
[holli]: clicky
[shmem]: "universe in which time goes superfast" - hmm, light behaves like syrup there, I guess
erix chuckles at the existence of a nebula award
[holli]: relative to ours.

How do I use this? | Other CB clients
Other Users?
Others romping around the Monastery: (16)
As of 2017-12-15 16:02 GMT
Find Nodes?
    Voting Booth?
    What programming language do you hate the most?

    Results (436 votes). Check out past polls.