我怎样才能编写一个从不匹配任何东西的 LPeg 模式?
How can I write a LPeg pattern that never matches anything?
有没有办法创建一个总是无法匹配任何内容的 LPeg 模式?我不是在谈论匹配空字符串,我是在谈论一个总是失败的模式,所以如果你把它放在一个有序的选择中,它总是会回到第二个选项。
这样做的原因是我正在用 LPEG 编写一个小型解析器,我希望我可以编写
operators = empty_pattern + "==" + "~=" + "<=" + ">=" + "<" + ">"
而不是
operators = lpeg.P("==") + "~=" + "<=" + ">=" + "<" + ">"
lpeg.P( false )
是最简单的方法。
If the argument is a boolean, the result is a pattern that always succeeds or always fails (according to the boolean value), without consuming any input.
有没有办法创建一个总是无法匹配任何内容的 LPeg 模式?我不是在谈论匹配空字符串,我是在谈论一个总是失败的模式,所以如果你把它放在一个有序的选择中,它总是会回到第二个选项。
这样做的原因是我正在用 LPEG 编写一个小型解析器,我希望我可以编写
operators = empty_pattern + "==" + "~=" + "<=" + ">=" + "<" + ">"
而不是
operators = lpeg.P("==") + "~=" + "<=" + ">=" + "<" + ">"
lpeg.P( false )
是最简单的方法。
If the argument is a boolean, the result is a pattern that always succeeds or always fails (according to the boolean value), without consuming any input.