Lua模式匹配

.:所有字符
%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不改变这个匹配

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容