我想使用正则表达式拆分字符串。我在Hackage上浏览了各种正则表达式模块,但我对它们没有任何意义。 (我注意到Data.List.Split
,但它似乎没有提供我需要的东西。)
答案 0 :(得分:2)
这可能会对您有所帮助:
ghci > import Text.Regex.Posix
ghci > getAllTextMatches ("good food" =~ ".ood" :: AllTextMatches [] String)
["good","food"]
真实世界的haskell书上有一个很好的chapter。
答案 1 :(得分:0)
在Haskell中,我们经常使用monadic解析器代替正则表达式进行模式匹配。
请参见splitCap
import Text.Megaparsec
import Text.Megaparsec.Char
import Replace.Megaparsec
import Data.Void
splitCap (some letterChar) "I'd like...a string"
[Right "I",Left "'",Right "d",Left " ",Right "like",Left "...",Right "a",Left " ",Right "string"]