用法:
--===========例子1;所有属性展示
--字符串
local a = "qqqq123456eee"
--正则表达式
local b = "([a-z]+)(\\d+)"
--更多参数
local c = 0
local d = i:se(a, b, c)
syso(d)
--替换成,将替换全部
local e = i:se(d, "sral", "1:$1, 2:$2")
syso(e)
--替换成,只替换第一个
local e = i:se(d, "srft", "1:$1, 2:$2")
syso(e)
--返回是否匹配成功,赋值返回true或 false
.local e = i:se(d, "ms")
--开始匹配 或 匹配下一个,赋值返回true或 false
.local e = i:se(d, "find")
--给定位置序号进行匹配,赋值返回true或 false
.local e = i:se(d, "find", 1)
--获取匹配组的数量,当前为2组:([a-z]+)、(\d+)
.local e = i:se(d, "gl")
--获取第1组匹配到的子字符串在字符串中的开头位置
.local e = i:se(d, "start", 1)
--获取第1组匹配到的子字符串在字符串中的结尾位置
.local e = i:se(d, "end", 1)
--获取第1组匹配到的子字符串
.local e = i:se(d, "group", 1)
--获取第2组匹配到的子字符串
.local e = i:se(d, "group", 2)
--===========例子2;获取所有手机号
--字符串
local a = "我的号码 13612345678 , 你的号码 13412345678"
--正则表达式
local b = "[1][3-8]\\d{9}"
--更多参数
local c = 0
local d = i:se(a, b, c)
--开始匹配 或 匹配下一个
local ee = i:se(d, "find")
--循环判断是否匹配成功
while ee do
--因为 [1][3-8]\\d{9} 没有组,所以这里我们输入 0
local e = i:se(d, "group", 0)
--打印出匹配到的子字符串
syso(e)
--开始匹配 或 匹配下一个
ee = i:se(d, "find")
end
--===========例子3;判断是否为手机号
--字符串
local a = "13612345678"
--正则表达式
local b = "^[1][3-8]\\d{9}$"
--更多参数
local c = 0
local d = i:se(a, b, c)
local e = i:se(d, "ms")
if e == true then
syso("手机号格式正确")
else
syso("手机号格式错误")
end
说明:
常用与字符串处理,高效的处理字符串,以及检测字符串类型等。使用此方法,需要对正则表达式有部分知识。