lpeg (Parsing Expression Grammars)

发布时间 2023-03-28 14:26:38作者: kehuadong

创建 Pattern 的构造函数

lpeg.P (value)

将 value 转变为 patten。value 可以是以下值

  • pattern, 返回 pattern
  • string, 返回匹配该string固定值得pattern
  • 非负数n, 返回一个匹配 n 个字符的 pattern
  • 负数 -n, lpeg.P(-n) = -lpeg.P(n), 即匹配任意 不匹配 lpeg.P(n)的subject, 所以匹配少于n个字符的 subject, 注意的是,它不会消耗任何字符,比如 n = 3, subject = “ab”, match成功后返回的 index 是1, 就像没有匹配过一样。
  • boolean , 返回一个 Pattern, 匹配总是 失败 或者 成功, 也不消耗任何字符
  • function, 相当于lpeg.Cmt(”, function), 这个后面讲Capture时会讲到。
    期待使用pattern时传入以上的值,也会通过lpeg.P 函数转换为pattern。

LPEG库简介_suzuiyue的博客-CSDN博客