zm.RegExMatch 正则匹配
🎯功能
Lua的正则匹配(也叫模式匹配),获取匹配成功的结果并保存到数组中。
📜语法
结果 = zm.RegExMatch(源字符串, 正则表达式[, 返回表])
📥参数
参数 | 数据类型 | 解释 |
---|---|---|
源字符串 | 字符串 | 待匹配查找的字符串内容 |
正则表达式 | 字符串 | 匹配模式,与Javascript或Perl等正则不同,详见Lua匹配模式 |
返回表 | 表 | 可选参数, 只能填写数据类型为数组的变量, 匹配失败返回最大下标为-1的数组 |
📤返回
字符串数组
,返回匹配成功的结果保存到数组中,失败返回null
💡示例
Import "zm.luae" //导入插件,只需执行一次
zm.Init //初始化插件,只需执行一次
Dim ret() //返回表参数, 可以省略该参数
Dim s = "紫猫老师QQ:345911220, Email:[email protected]"
Dim data = zm.RegExMatch(s, "%d+", ret)
If data then
For i = 0 to Ubound(data)
TracePrint "返回结果: " & data(i)
Next
//若填写了返回表参数, 则可以取出结果
For i = 0 to Ubound(ret)
TracePrint "返回表: " & ret(i)
Next
Else
TracePrint "未匹配到数据"
End If
📘备注
从1.1750起, 失败返回值由长度-1的数组改为null
- V1.1738: 加入命令
- V1.1739: 修复
.*
出现死循环的BUG - V1.1750: 失败返回
null
, 加入返回参数 - V3.1929: 修复正则匹配部分规则失效问题