regex-do-2.4: PCRE wrapper

Safe HaskellNone
LanguageHaskell2010

Text.Regex.Do.Pcre.Replace

Synopsis

Documentation

class Replace hint rx r a where Source

dynamic group replace

custom replacer fn returns replacement value. See defaultReplacer

>>> replacer::GroupReplacer String
    replacer = defaultReplacer 1 tweak1
          where tweak1 str1 = case str1 of
                                "101" -> "[сто один]"
                                "3" -> "[three]"
                                otherwise -> trace str1 "?"

Once vs All options

>>> replace (Once[]) (Pattern "\\w=(\\d{1,3})") replacer $ Body "a=101 b=3 12"

"a=[сто один] b=3 12"

>>> replace (All[]) (Pattern "\\w=(\\d{1,3})") replacer $ Body "a=101 b=3 12"

"a=[сто один] b=[three] 12"

static replace for simple (no group) needle

for no-regex ByteString replacement see Text.Regex.Do.Split

>>> replace (Once[Utf8]) (Pattern "менее") (Replacement  "более") $ Body "менее менее"

"более менее"

>>> replace (Once[]) (Pattern "^a\\s") (Replacement "A") $ Body "a bc хол.гор."

"Abc хол.гор."

Methods

replace :: hint [Comp] -> Pattern rx -> r a -> Body a -> a Source