L3-06. 正则表达式

一. 查找字符串

复制代码
--[=[
    string.find(str,匹配内容[,i[,是否关闭模式匹配]])查找字符串
    语法: 
        string.find(str,匹配内容[,i[,是否关闭模式匹配]])
    功能: 
        在str中查找匹配内容,并返回开头位置和结束位置
    参数: 
        参数str(必选):        待查找的字符串
        参数匹配内容(必选):    要匹配的内容, 支持正则匹配
        参数i(可选):          开始匹配的位置,默认为1在第一个位置开始匹配,可以为负数
        参数是否关闭正则匹配:   默认为true,关闭正则匹配,false为开启正则匹配
    返回值:
        返回查找到字符串的开头位置和结束位置
--]=]

do
    local str 
    str = "<123><123>"
    print ( string.find(str,"123",-5,true) )                --输出结果: 7   9
    
     str = "<123><123>"
    --在find中只有带上括号才会输出匹配到的内容
    print ( string.find(str,"<.*>") )                  --输出结果: 1  10
    print ( string.find(str,"(<.*>)") )                --输出结果: 1  10  <123><123>
    
    str = "<123><456>"
    --输出前两个是整个正则匹配成功的开始位置和结束位置
    print ( string.find(str,"<(%d-)><(456)>",1,false) )     --输出结果: 1    10    123    456
end
复制代码

 

二. 匹配字符串

  1. string.match (s, 正则匹配格式[, 开始位置])

复制代码
--[=[
    string.match(str,pattern[,i]) 正则匹配字符串
    语法: 
        string.match(str,正则匹配格式[,i])
    功能: 
        在str中正则匹配内容,返回匹配到的内容或者捕获到的内容"()"
    参数: 
        参数str(必选):        待匹配的字符串
        参数pattern(必选):    正则匹配表达式
        参数i(可选):          开始匹配的位置,默认为1在第一个位置开始匹配,可以为负数
    返回值:
        返回匹配到的内容或者捕获到的内容"()"
--]=]

local str = "www.12345.12345785.com"

复制代码

 

  2. string.gmatch (s, 正则匹配格式[, 开始位置])

 

posted @   小书臣  阅读(26)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
点击右上角即可分享
微信分享提示