【发布时间】:2013-11-24 19:44:37
【问题描述】:
我想解析一些文本,其中某些字段大部分时间都有结构,但偶尔(由于特殊的大小写、拼写错误等)这种结构会丢失。
例如常规大小写为Cost: 5,但偶尔会显示为Cost: 5m 或Cost: 3 + 1 per ally,或其他一些随机的东西。
在普通解析器 (p) 不工作的情况下,我想退回到只将整行作为字符串的解析器。
为此,我想创建一个Parser a -> Parser b -> Either a b 类型的组合器。但是,如果不执行case parse p "" txt of ... 之类的操作,我无法弄清楚如何检查尝试查看第一个解析器是否成功的结果。
我看不到组合器中的构建,但我确信有一些简单的方法可以解决我缺少的问题
【问题讨论】: