我试图找到一种方法来使用正则表达式来搜索文本而不是为模板haskell添加依赖项。我的简单例子是
import Text.Regex.TDFA
d = t1 =~ pat4 :: Text
pat4 = "([12][0,6-9][0-9][0-9])" :: Text
t1 = "foodiebar 1933 some more 19456 text " :: Text
该代码适用于Text.Regex.PCRE
for String
,但当我更改为Text并导入Text.Regex.TDFA
时,编译器会生成:
RegexMaker Regex CompOption ExecOption Text
还需要什么?
缺少是Text.Regex.TDFA.Text
中实例的导入(仅实例)。从而:
import Text.Regex.TDFA
import Text.Regex.TDFA.Text ()
遗憾的是,有很少的最新文档和两个用于haskell的正则表达式的不同实现。我用了几个小时来确定哪些包一起工作。
我发现blog很有用。