gpt4 book ai didi

regex - Haskell中正则表达式的所有匹配项

转载 作者:行者123 更新时间:2023-12-03 10:41:37 25 4
gpt4 key购买 nike

根据一些教程(包括 Real World Haskell)一个可以,使用 ghci 执行以下操作

ghci > :m Text.Regex.Posix
ghci > "foo foo foo" =~ "foo" :: [String]
["foo","foo","foo"]

然而,当我尝试这样做时,它会产生
No instance for (RegexContext Regex [Char] [String])
arising from a use of `=~'
Possible fix:
add an instance declaration for
(RegexContext Regex [Char] [String])
In the expression: "abc" =~ "ab" :: [String]
In an equation for `it': it = "abc" =~ "ab" :: [String]

在haskell中获取所有匹配项列表的正确方法是什么?

最佳答案

正则表达式库可能与其重载的返回类型有些混淆,但要获得所有匹配项,您只需确保返回类型为 AllTextMatches , 例如:

Prelude> :m + Text.Regex.Posix
Prelude Text.Regex.Posix> getAllTextMatches $ "foo foo foo" =~ "foo" :: [String]
["foo","foo","foo"]

关于regex - Haskell中正则表达式的所有匹配项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9049705/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com