The Text.Regex.DFA module provides a backend for regular
expressions. To use it should be imported along with
Text.Regex.Lazy. If you import this along with other backends, then
you should do so with qualified imports, perhaps renamed for
The DFA engine now takes two CompOption flags: multiline and
caseSensitive. These both default to True. The multiline option
means that a dot matches everything except a newline and ^ and $ match
the after and before a newlilne. If multiline is false then a dot
matches everything and ^ and $ match only the start and end of the
input. The ExecOption is a newtype'd ().
The DFA is a limited backend that trades off features for speed. It
returns the longest full match, but does not return substring captures
or allow back-references to be used. It has been expanded and can now
handle the ^ and $ anchors. Internally it searches [Char] or
ByteString, and is very suitable to quickly search either type.
The DFA backend is a derived work and under the LGPL, the details are