【发布时间】:2017-04-16 22:11:14
【问题描述】:
我正在使用据说默认回溯的 Attoparsec。但是,以下行:
parseOnly (string "foo" *> many1 anyChar <* string "bar") "fooxxxbar"
失败:
Left "not enough input"
为什么会这样?如果many1 anyChar 决定只解析三个字符(xxx),它应该是成功的。由于回溯,它应该考虑在某个时候这样做,不是吗?
使用 Attoparsec 等效于 /foo(.*)bar/ 正则表达式的正确方法是什么?
【问题讨论】:
标签: regex haskell backtracking parsec attoparsec