Text.Regex.Posix中的否定前瞻

时间:2014-04-15 07:09:18

标签: regex haskell

我正在尝试使用负向前瞻 - 标准的正则表达式-posix练习:

"foobarbaz" =~ "^(?!.*bar).*$" :: Bool

并收到错误*** Exception: user error (Text.Regex.Posix.String died: (ReturnCode 13,"repetition-operator operand invalid"))

如何在Haskell中使用负向前瞻?

1 个答案:

答案 0 :(得分:3)

免责声明:GREP方言太多了!

您的原始GREP适用于InDesign(它使用略微修改的boost实现);这个替代方案也是如此:

^((?!bar).)*$

即,尝试依次匹配每个角色的(?!bar).