Lua模式匹配

.:所有字符
%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不改變這個匹配

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容