#if __GLASGOW_HASKELL__ >= 800
#endif
module Text.RE.TDFA
(
(*=~)
, (?=~)
, (*=~/)
, (?=~/)
, (=~)
, (=~~)
, Matches
, matchesSource
, allMatches
, anyMatches
, countMatches
, matches
, Match
, matchSource
, matched
, matchedText
, RE
, SimpleREOptions(..)
, reSource
, compileRegex
, compileRegexWith
, escape
, escapeWith
, escapeREString
, module Text.RE.ZeInternals.TDFA
, module Text.RE.ZeInternals.SearchReplace.TDFA
, module Text.RE.TDFA.ByteString
, module Text.RE.TDFA.ByteString.Lazy
, module Text.RE.TDFA.Sequence
, module Text.RE.TDFA.String
, module Text.RE.TDFA.Text
, module Text.RE.TDFA.Text.Lazy
) where
import qualified Text.Regex.Base as B
import Text.RE
import Text.RE.ZeInternals.AddCaptureNames
import Text.RE.ZeInternals.SearchReplace.TDFA
import Text.RE.ZeInternals.TDFA
import qualified Text.Regex.TDFA as TDFA
import Text.RE.TDFA.ByteString()
import Text.RE.TDFA.ByteString.Lazy()
import Text.RE.TDFA.Sequence()
import Text.RE.TDFA.String()
import Text.RE.TDFA.Text()
import Text.RE.TDFA.Text.Lazy()
import Text.RE.IsRegex
import Text.RE.REOptions
(*=~) :: IsRegex RE s
=> s
-> RE
-> Matches s
(*=~) bs rex = addCaptureNamesToMatches (reCaptureNames rex) $ matchMany rex bs
(?=~) :: IsRegex RE s
=> s
-> RE
-> Match s
(?=~) bs rex = addCaptureNamesToMatch (reCaptureNames rex) $ matchOnce rex bs
(*=~/) :: IsRegex RE s => s -> SearchReplace RE s -> s
(*=~/) = flip searchReplaceAll
(?=~/) :: IsRegex RE s => s -> SearchReplace RE s -> s
(?=~/) = flip searchReplaceFirst
(=~) :: ( B.RegexContext TDFA.Regex s a
, B.RegexMaker TDFA.Regex TDFA.CompOption TDFA.ExecOption s
)
=> s
-> RE
-> a
(=~) bs rex = B.match (reRegex rex) bs
(=~~) :: ( Monad m
, B.RegexContext TDFA.Regex s a
, B.RegexMaker TDFA.Regex TDFA.CompOption TDFA.ExecOption s
)
=> s
-> RE
-> m a
(=~~) bs rex = B.matchM (reRegex rex) bs