需要帮助来理解LPeg和PEG
以下模式(来自此页面)仅匹配具有平衡圆括号的字符串:
b = lpeg.P{ "(" * ((1 - lpeg.S"()") + lpeg.V(1))^0 * ")" }
  1- in 1 - lpeg.S"()"是什么意思? 
function gsub (s, patt, repl)
  patt = lpeg.P(patt)
  patt = lpeg.Cs((patt / repl + 1)^0)
  return lpeg.match(patt, s)
end
  patt / repl + 1中的+1是什么意思? 
  我仍然不能完全得到优先选择运营商的功能/非常好,从这个文件 
任何帮助将不胜感激!
  1 1 - lpeg.S"()"表示任何字符。  整个语句可以被读为,匹配任何字符,但不匹配集合"()"的字符。 
  +1是同样的想法,如果repl是一个字符串,那么patt / repl + 1匹配模式patt ,然后用字符串repl替换它的捕获或跳过一个字符。 
