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
ですか?
つまり、ルールが完全に一致しない場合にのみ例外をスローします。何も一致しない場合、例外はスローされません。