安卓正则补充

来源:互联网 发布:网页服务器软件 编辑:程序博客网 时间:2024/05/17 05:01

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)

 

  1. 对于 .* 这种结构不要用
  2. 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, 如果

原创粉丝点击