packages feed

servant-serf-0.1.0: app/Regex.hs

module Regex 
  ( Pattern'
  , filterPattern
  , parseRegex
  ) where

import Data.Text (Text)
import Text.Regex.TDFA (defaultExecOpt, defaultCompOpt, RegexLike(..))
import Text.Regex.TDFA.Pattern
import Text.Regex.TDFA.ReadRegex (parseRegex)
import Text.Regex.TDFA.TDFA ( patternToRegex )
import Text.Regex.TDFA.Text

type Pattern' = (Pattern, (GroupIndex, DoPa))

filterPattern :: Pattern' -> [Text] -> [Text]
filterPattern pattern strings = filter matchPattern strings
  where
  regex :: Regex
  regex = patternToRegex pattern defaultCompOpt defaultExecOpt
  matchPattern :: Text -> Bool
  matchPattern x = matchTest regex x