我用PetitParserDart定义了一些规则:
def("start", ref("rule").separatedBy(char('\n'), includeSeparators: false);
def("rule", char('(').seq(word().plus()).seq(char(')')));
因此将匹配以下文本:
(aaa)
(bbbbbb)
但是如果有一些行不能匹配:
(aaaa)
bbbbb
(cccccccc
如何定义语法让它失败并在线抛出异常(ccccccccc
,但不在线bbbbb
?
我的意思是它只在规则不完全匹配时抛出异常。如果没有匹配,它不会抛出异常。