se 正则表达式操作
2022-12-22 14:25:07 最后更新
用法:
//===========例子1;所有属性展示
//字符串
var a = "qqqq123456eee"
//正则表达式
var b = "([a-z]+)(\\d+)"
//更多参数
var c = 0
var d = i.se(a, b, c)
syso(d)

//替换成,将替换全部
var e = i.se(d, "sral", "1:$1, 2:$2")
syso(e)
//替换成,只替换第一个
var e = i.se(d, "srft", "1:$1, 2:$2")
syso(e)

//返回是否匹配成功,赋值返回true或 false
.var e = i.se(d, "ms")

//开始匹配 或 匹配下一个,赋值返回true或 false
.var e = i.se(d, "find")

//给定位置序号进行匹配,赋值返回true或 false
.var e = i.se(d, "find", 1)

//获取匹配组的数量,当前为2组:([a-z]+)、(\d+)
.var e = i.se(d, "gl")

//获取第1组匹配到的子字符串在字符串中的开头位置 
.var e = i.se(d, "start", 1)

//获取第1组匹配到的子字符串在字符串中的结尾位置 
.var e = i.se(d, "end", 1)

//获取第1组匹配到的子字符串
.var e = i.se(d, "group", 1)
//获取第2组匹配到的子字符串
.var e = i.se(d, "group", 2)

//===========例子2;获取所有手机号

//字符串
var a = "我的号码 13612345678 , 你的号码 13412345678"
//正则表达式
var b = "[1][3-8]\\d{9}"
//更多参数
var c = 0
var d = i.se(a, b, c)

//开始匹配 或 匹配下一个
var ee = i.se(d, "find")

//循环判断是否匹配成功
while (ee){
//因为 [1][3-8]\\d{9} 没有组,所以这里我们输入 0
var e = i.se(d, "group", 0)

//打印出匹配到的子字符串
syso(e)

//开始匹配 或 匹配下一个
ee = i.se(d, "find")
}

//===========例子3;判断是否为手机号

//字符串
var a = "13612345678"
//正则表达式
var b = "^[1][3-8]\\d{9}$"
//更多参数
var c = 0
var d = i.se(a, b, c)

var e = i.se(d, "ms")
if e == true then
syso("手机号格式正确")
else
syso("手机号格式错误")
end

说明:
常用与字符串处理,高效的处理字符串,以及检测字符串类型等。使用此方法,需要对正则表达式有部分知识。