.:所有字符
%a: 与任何字母配对
%c: 与任何控制符配对(例如\n)
%d: 与任何数字配对
%l: 与任何小写字母配对
%p: 与任何标点(punctuation)配对
%s: 与空白字符配对
%u: 与任何大写字母配对
%w: 与任何字母/数字配对
%x: 与任何十六进制数配对
%z: 与任何代表0的字符配对
%x(此处x是非字母非数字字符): 与字符x配对. 主要用来处理表达式中有功能的字符(^$()%.
大写取反
[]*+-?)的配对问题, 例如%%与%配对
[数个字符类]: 与任何[]中包含的字符类配对. 例如[%w_]与任何字母/数字, 或下划线符号(_)配对
string.gsub的第三个参数不仅可以是一个字符串,还可以是一个函数或table。当用一个函数来调用时,string.gsub会在每次找到匹配时调用该函数,调用时的参数就是捕获到的内容。而该函数的返回值则为则作为要替换的字符串,
当用一个table来调用时,string.gsub会用每次捕获到的内容作为key,在table中进行查找,并将对应的value作为替换的字符串。如果table中不包含key,那么string.gsub不改变这个匹配