module Regexdo.Pcre.Result (poslen, value, oneMatchArray, R.extract -- | 'extract' is reexport from "Text.Regex.Base.RegexLike" ) where import qualified Data.Array as A(elems) import Text.Regex.Base.RegexLike as R import Regexdo.TypeDo poslen::Functor f => f MatchArray -> f [PosLen] poslen = (A.elems <$>) -- | all matches value::(Functor f, R.Extract a) => Haystack a -> f MatchArray -> f [a] value hay0 results0 = oneMatchArray hay0 <$> results0 -- | extracts all values in a MatchArray (matched group) oneMatchArray::R.Extract a => Haystack a -> MatchArray -> [a] oneMatchArray (Haystack hay1) arr1 = [R.extract tuple1 hay1 | tuple1 <- A.elems arr1]