Haskell 中有几个包可用于使用正则表达式(例如 Text.Regex.Base、Text.Regex.Posix 等)。到目前为止,我见过的大多数软件包都使用我知道的 Regex 的一个子集,我的意思是:我习惯于使用以下 Regex 将句子拆分为单词:
\\w+
到目前为止,我尝试过的几乎所有 Haskell 包都不支持这个(至少前面提到的和 Text.Regex.TDFA 都不支持)。我知道使用 Posix 使用 [[:word:]+] 会产生相同的效果,但我想使用上面提到的变体。
从这里有两个问题:
最佳答案
我会使用亚当的建议或(也许更具可读性)
> :m +Data.Char
> :m +Data.List.Split
> wordsBy (not . isLetter) "Just a simple test."
["Just","a","simple","test"]
这里不需要正则表达式。
关于regex - 在 Haskell 中使用正则表达式进行分词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8416758/