lua 正则匹配式:(大写都是相反的)
. 任意字符
%a 字母
%c 控制字符
%d 数字
%l 小写字母
%p 标点字符
%s 空白符
%u 大写字母
%w 字母和数字
%x 十六进制数字
%z 代表0的字符
--s:字符串,pattern:正则匹配字符规则,reps:要替换的字符串
():把括号中匹配的变量存到%1,%2,%3.....中,捕获括号内的字符
string.gsub(s, pattern, reps)
例子:
s = "this is test,123456"
print(string.gsub(s,"his","www"))=>twww is test,123456
找到匹配的his,替换成www
print(string.gsub(s,"(h)(is)",%2%1))=>tish is test,123456
(匹配s中的"his"字符串,匹配的h放到%1变量中,匹配的is放到%2变量中,然后替换掉his为ish,%1表示符合模式的第一个匹配)
string.gsub(s, pattern, func)
gsub最后一个参数是函数,把pattern匹配的字符或者捕获的结果作为参数传递给func,然后把返回结果替换s中匹配字符
string:match(reps)
local filename="test.plist"
print(filename:match(".+%.(%w+)$")) =>plist
($匹配结束符,.+匹配所有符号,%.匹配点号,(%w+)匹配最后一个点号后面的字符和数字,存到捕获的%1中,并且返回)
print(filename:match(“.+()%.%w+$”)) =>5
(括号内是空,返回匹配字符括号后的一个字符的位置,即是返回匹配的最后一个点号的位置5)
. 任意字符
%a 字母
%c 控制字符
%d 数字
%l 小写字母
%p 标点字符
%s 空白符
%u 大写字母
%w 字母和数字
%x 十六进制数字
%z 代表0的字符
--s:字符串,pattern:正则匹配字符规则,reps:要替换的字符串
():把括号中匹配的变量存到%1,%2,%3.....中,捕获括号内的字符
string.gsub(s, pattern, reps)
例子:
s = "this is test,123456"
print(string.gsub(s,"his","www"))=>twww is test,123456
找到匹配的his,替换成www
print(string.gsub(s,"(h)(is)",%2%1))=>tish is test,123456
(匹配s中的"his"字符串,匹配的h放到%1变量中,匹配的is放到%2变量中,然后替换掉his为ish,%1表示符合模式的第一个匹配)
string.gsub(s, pattern, func)
gsub最后一个参数是函数,把pattern匹配的字符或者捕获的结果作为参数传递给func,然后把返回结果替换s中匹配字符
string:match(reps)
local filename="test.plist"
print(filename:match(".+%.(%w+)$")) =>plist
($匹配结束符,.+匹配所有符号,%.匹配点号,(%w+)匹配最后一个点号后面的字符和数字,存到捕获的%1中,并且返回)
print(filename:match(“.+()%.%w+$”)) =>5
(括号内是空,返回匹配字符括号后的一个字符的位置,即是返回匹配的最后一个点号的位置5)