01.07 正则之边界匹配(VIP)
%f[set], 指 边境模式; 这个条目会匹配到一个位于 set 内某个字符之前的一个空串, 且这个位置的前一个字符不属于 set 。 集合 set 的含义如前面所述。 匹配出的那个空串之开始和结束点的计算就看成该处有个字符 '\0' 一样。
理解:这个其实就是规定了 使用的那个位置的字符不是什么 但是最终的查找结果又不会包含那个位置的字符 %f[%s]abcd%f[%d] 这个的理解是 找abcd的组合 但是这个组合前面不能是空白字符 后面不能是数字
还是有一定的使用价值的 可以考虑
01.08 正则之捕获模式(VIP)
就是^ $的规定开头结尾 没什么可说的
注意:但是很遗憾的是 ^$是匹配的是整个的字符串 的开头和结尾 而不是 要查找的字符串的开头和结尾
捕获模式
就是小括号 在正则表达式里面加入小括号 然后用 RegExMatchEx来接收 得到1个二维数组 里面写的很清楚不用看了
Dim s = "紫猫老师QQ:345911220, Email:345911220@qq.com"
Dim data = zm.RegExMatchEx(s, "QQ:(%d+).-Email:(%w-@%w-%.%w+)")
If UBound(data) > -1 then
For Each v in data
TracePrint "本轮匹配结果:"
For Each vv in v
TracePrint vv
Next
Next
Else
TracePrint "未捕获到数据"
End If
01.09 正则之替换模式(VIP)
正则替换 也没什么可说的
来利用替换函数和 %2 %1 %3 括号 来实现一些复杂的交换替换
01.10 正则之补充说明(VIP)
- 对于 .* 这种结构不要用
- 2 老师是利用正则替换 和表结构 可以实现一个 前台代码的替换
内容="hello world,$name, this is a $time, myaddress is address"
替换表={"$name":"zjl","$time":"2017-02-11","$address":"shandong"}
然后利用替换内容变量里面的替换内容 还不不错的思路
3 zm.varinfo() 可以查看这些资料
01.11 正则之提取文本帐号密码(VIP)
原理异常简单 就是把账号文件里面的内容一口气读取出来 然后对整体内容进行匹配得到二维数组 这个数组的第一维每个都是包含2个元素 分别对应账号和密码
正则字符串 "(%w+)%-%-%-%-%(w+)"
这样就可以匹配出所有的 账号1----密码1 这样的格式的账号和密码 不过和传统的spilit的方式比较起来 没什么明显的优点 可以了解几下即可
注意:正则并没有解决这种情况 就算懒惰匹配一样无法处理 只能反向的取文本中间了
内容="验证码:您当前获得的验证码:343243,欢迎您的注册,"
如果我们用-来进行懒惰匹配 想要匹配出验证码 但是实际上匹配出了 验证码:您当前获得的验证码:343243, 而不是 验证码:343243, 如果