&gt; It is not that certain inputs happen to correspond to a configuration solvable by an NFA. It is that if you give it certain inputs it internally generates a data structure that actually IS a description of an NFA. And the same is true of most RE engines.<p>All this means is that Perl sometimes evaluates inputs using an NFA algorithm. To describe its matching engine generally as an NFA is extremely misleading.<p>&gt; See for example <a href="https:&#x2F;&#x2F;msdn.microsoft.com&#x2F;en-us&#x2F;library&#x2F;e347654k%28v=vs.110.." rel="nofollow">https:&#x2F;&#x2F;msdn.microsoft.com&#x2F;en-us&#x2F;library&#x2F;e347654k%28v=vs.110...</a>. for yet another non-NFA that is described as one somewhere that programmers are likely to believe it.<p>Yes. It&#x27;s sad.<p>I frankly can&#x27;t tell you how much I see this confusion. It happens so much. I point it out when I see it in the hopes that others learn. I don&#x27;t really buy the argument that we should stop educating others just because the &quot;damage is done.&quot;<p>There&#x27;s certainly a fine line between being an annoying pedant about this and genuinely trying to clarify it for someone who is confused. I thought I was doing the latter in this case initially. Of course, I am hyper sensitive to this topic because I maintain a regex engine! Can you guess which kind? :P