Safe Haskell | None |
---|---|
Language | Haskell2010 |
- replace :: (Rx_ a a, ReplaceCase_ r a, Opt_ a) => [ReplaceCase] -> Pattern a -> r a -> Body a -> a
- class ReplaceCase_ r a where
- replace_ :: [ReplaceCase] -> Pattern Regex -> r a -> Body a -> a
Documentation
replace :: (Rx_ a a, ReplaceCase_ r a, Opt_ a) => [ReplaceCase] -> Pattern a -> r a -> Body a -> a 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 "?"
>>>
replace [Once,Utf8] (Pattern "\\w=(\\d{1,3})") replacer $ Body "a=101 b=3 12"
"a=[сто один] b=3 12"
>>>
replace [All,Utf8] (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,Utf8] (Pattern "^a\\s") (Replacement "A") $ Body "a bc хол.гор."
"Abc хол.гор."
class ReplaceCase_ r a where Source
implementation detail for the curious