1. 程式人生 > 其它 >模式匹配相關庫函式

模式匹配相關庫函式

按匹配查詢:string.find (s,pattern [,init [,plain]])
兩個返回值,匹配目標的起始位置和終止位置,如未找到匹配則返回nil。
引數s:指定字串,引數pattern:匹配模式,引數init:初始查詢位置(可以是負數,從字串尾定位),引數plain:無引數時按匹配模式查詢,所有魔法字元需要額外轉義,引數寫true時使用簡單匹配。

按定位提取:string.sub (s,i [,j])
返回以i,j定位的子串。
引數s:指定字串,引數i:初始位置(可以是負數,從字串尾定位),引數j:可選,如果不寫則匹配整段字串,如果j比整個字串大則自動修正,如果j比i小則返回空字串。

按匹配提取:string.match (s,pattern [,init])


返回按匹配提取的子串,如未找到匹配則返回nil。
引數s:指定字串,引數pattern:匹配模式,引數init:可選,初始查詢位置(可以是負數,從字串尾定位)

按匹配查詢並替換:string.gsub (s,pattern,repl [,n])
兩個返回值,替換後的副本和被替換的次數,如未找到匹配則原樣返回s。
引數s:指定字串,引數pattern:匹配模式,引數repl:替換字串(可以是函式或表),引數n:可選,強制替換次數,不寫則全部替換

迭代器函式:string.gmatch (s,pattern)
每次迭代返回一個模式匹配的子串,用於遍歷字串中所有出現的匹配。
引數s:指定字串,引數pattern:匹配模式