Regex package:regex-tdfa

The TDFA backend specific Regex type, used by this module's RegexOptions and RegexMaker.
Pure Haskell Tagged DFA Backend for "Text.Regex" (regex-base) This package provides a pure Haskell "Tagged" DFA regex engine for regex-base. This implementation was inspired by the algorithm (and Master's thesis) behind the regular expression library known as TRE or libtre. Please consult the Text.Regex.TDFA module for API documentation including a tutorial with usage examples; see also https://wiki.haskell.org/Regular_expressions for general information about regular expression support in Haskell.
indexes of smallest and largest states
indexes of smallest and largest tags
starting DFA state
information about each group
index of starting state
used for optimizing execution
information about each tag
All DFA states
This is a POSIX version of parseRegex that allows NUL characters. Lazy/Possessive/Backrefs are not recognized. Anchors ^ and $ are recognized. A PGroup returned always has (Maybe GroupIndex) set to (Just _) and never to Nothing.
Return either an error message or a tuple of the Pattern and the largest group index and the largest DoPa index (both have smallest index of 1). Since the regular expression is supplied as [Char] it automatically supports unicode and \NUL characters.