lpeg (Parsing Expression Grammars)
创建 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。