Haskell 中是否有用于使用正则表达式进行搜索和替换的高级 API?特别是,我正在看Text.Regex.TDFA
or Text.Regex.Posix
包。我真的很想要某种类型的东西:
f :: Regex -> (ResultInfo -> m String) -> String -> m String
因此,例如,要将“狗”替换为“猫”,您可以这样写
runIdentity . f "dog" (return . const "cat") -- :: String -> String
或者用 monad 做更高级的事情,比如计算出现次数等。
这方面的 Haskell 文档非常缺乏。一些低级 API 注释是here http://www.serpentine.com/blog/2007/02/27/a-haskell-regular-expression-tutorial/.
怎么样Text.Regex.subRegex https://hackage.haskell.org/package/regex-compat-0.92/docs/Text-Regex.html包装内regex-compat
?
Prelude> import Text.Regex (mkRegex, subRegex)
Prelude> :t mkRegex
mkRegex :: String -> Regex
Prelude> :t subRegex
subRegex :: Regex -> String -> String -> String
Prelude> subRegex (mkRegex "foo") "foobar" "123"
"123bar"
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)