LPeg 替代匹配?

LPeg 替代匹配?

查看 LPeg 文档,我没有找到其他解决方法(或)

http://www.inf.puc-rio.br/~roberto/lpeg

例如,a | b 将匹配 a 或 b。我遗漏了什么吗?

答案1

从您链接的文档中,我们可以读到patt1 + patt2按此顺序匹配patt1或。patt2

类似下面的操作应该可以工作(但我不是 LuaTeX 专家)。

\def\test#1{%
  \directlua{
    require('lpeg');
    tex.print(lpeg.match(lpeg.S('0123456789')+lpeg.P(3),'#1'))
}}
\test{123}
\test{abc}

可能'#1'应该用适当的 LuaTeX 原语替换才能#1正确转义。

相关内容