Lua 正则匹配 gsub match

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)

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值