2

有没有办法创建一个总是无法匹配任何东西的 LPeg 模式?我不是在谈论匹配空字符串,我在谈论一个总是失败的模式,所以如果你把它放在一个有序的选择中,它总是会退回到第二个选项。

这样做的原因是我正在用 LPEG 编写一个小型解析器,我希望我能写

 operators = empty_pattern + "==" + "~=" + "<=" + ">=" + "<" + ">"

代替

 operators = lpeg.P("==") + "~=" + "<=" + ">=" + "<" + ">"
4

1 回答 1

2

lpeg.P( false )是最简单的方法。

如果参数是布尔值,则结果是一个总是成功或总是失败的模式(根据布尔值),不消耗任何输入。

于 2017-02-13T22:00:43.703 回答