Javascript, executed in the console of a recent Chrome:
> 'ab'.match(/a|ab/) ["a"]
> egrep 'a|ab' <<< ab ab
I was under the impression that all major regex engines used NFAs converted to DFAs lazily, with fallbacks to a slower engine for features that cannot (or cannot practically) be implemented using an NFA (unbounded backtracking, that sort of thing.)
What is the advantage to doing this?
Javascript, executed in the console of a recent Chrome:
BSD Grep: