Beefy Boxes and Bandwidth Generously Provided by pair Networks
laziness, impatience, and hubris

Are Perl regexps DFAs or NFAs? Are they POSIX compliant?

by faq_monk (Initiate)
on Oct 08, 1999 at 00:25 UTC ( #675=perlfaq nodetype: print w/replies, xml ) Need Help??

Current Perl documentation can be found at

Here is our local, out-dated (pre-5.6) version:

While it's true that Perl's regular expressions resemble the DFAs (deterministic finite automata) of the egrep(1) program, they are in fact implemented as NFAs (non-deterministic finite automata) to allow backtracking and backreferencing. And they aren't POSIX-style either, because those guarantee worst-case behavior for all cases. (It seems that some people prefer guarantees of consistency, even when what's guaranteed is slowness.) See the book ``Mastering Regular Expressions'' (from O'Reilly) by Jeffrey Friedl for all the details you could ever hope to know on these matters (a full citation appears in the perlfaq2 manpage).

Log In?

What's my password?
Create A New User
[marinersk]: Poking around I find references to the XP Nodelet but something's not clicking. It shows up when I have votes; it shows up when my XP changes; but I can't see how to make it show up all the time. Am I missing something obvious here?

How do I use this? | Other CB clients
Other Users?
Others imbibing at the Monastery: (8)
As of 2017-05-29 13:34 GMT
Find Nodes?
    Voting Booth?