.:所有字符
%a: 與任何字母配對
%c: 與任何控制符配對(例如\n)
%d: 與任何數(shù)字配對
%l: 與任何小寫字母配對
%p: 與任何標(biāo)點(diǎn)(punctuation)配對
%s: 與空白字符配對
%u: 與任何大寫字母配對
%w: 與任何字母/數(shù)字配對
%x: 與任何十六進(jìn)制數(shù)配對
%z: 與任何代表0的字符配對
%x(此處x是非字母非數(shù)字字符): 與字符x配對. 主要用來處理表達(dá)式中有功能的字符(^$()%.
大寫取反
[]*+-?)的配對問題, 例如%%與%配對
[數(shù)個字符類]: 與任何[]中包含的字符類配對. 例如[%w_]與任何字母/數(shù)字, 或下劃線符號(_)配對
string.gsub的第三個參數(shù)不僅可以是一個字符串,還可以是一個函數(shù)或table。當(dāng)用一個函數(shù)來調(diào)用時,string.gsub會在每次找到匹配時調(diào)用該函數(shù),調(diào)用時的參數(shù)就是捕獲到的內(nèi)容。而該函數(shù)的返回值則為則作為要替換的字符串,
當(dāng)用一個table來調(diào)用時,string.gsub會用每次捕獲到的內(nèi)容作為key,在table中進(jìn)行查找,并將對應(yīng)的value作為替換的字符串。如果table中不包含key,那么string.gsub不改變這個匹配