#if __GLASGOW_HASKELL__ >= 800
#endif
module Text.RE.TDFA.Sequence
(
(*=~)
, (?=~)
, (=~)
, (=~~)
, module Text.RE
, RE
, reSource
, compileRegex
, compileRegexWith
, escape
, module Text.RE.TDFA.RE
) where
import Prelude.Compat
import qualified Data.Sequence as S
import Data.Typeable
import Text.Regex.Base
import Text.RE
import Text.RE.Types.IsRegex
import Text.RE.Internal.AddCaptureNames
import Text.RE.TDFA.RE
import qualified Text.Regex.TDFA as TDFA
(*=~) :: (S.Seq Char)
-> RE
-> Matches (S.Seq Char)
(*=~) bs rex = addCaptureNamesToMatches (reCaptureNames rex) $ match (reRegex rex) bs
(?=~) :: (S.Seq Char)
-> RE
-> Match (S.Seq Char)
(?=~) bs rex = addCaptureNamesToMatch (reCaptureNames rex) $ match (reRegex rex) bs
(=~) :: ( Typeable a
, RegexContext TDFA.Regex (S.Seq Char) a
, RegexMaker TDFA.Regex TDFA.CompOption TDFA.ExecOption String
)
=> (S.Seq Char)
-> RE
-> a
(=~) bs rex = addCaptureNames (reCaptureNames rex) $ match (reRegex rex) bs
(=~~) :: ( Monad m
, Functor m
, Typeable a
, RegexContext TDFA.Regex (S.Seq Char) a
, RegexMaker TDFA.Regex TDFA.CompOption TDFA.ExecOption String
)
=> (S.Seq Char)
-> RE
-> m a
(=~~) bs rex = addCaptureNames (reCaptureNames rex) <$> matchM (reRegex rex) bs
instance IsRegex RE (S.Seq Char) where
matchOnce = flip (?=~)
matchMany = flip (*=~)
makeRegexWith = \o -> compileRegexWith o . unpackE
makeRegex = compileRegex . unpackE
regexSource = packE . reSource