首页 » 网站建设 » phpstr_match技巧_按键精灵脚本开拓之若何处理字符串事半功倍正则表达式的应用

phpstr_match技巧_按键精灵脚本开拓之若何处理字符串事半功倍正则表达式的应用

访客 2024-11-02 0

扫一扫用手机浏览

文章目录 [+]

我真不打算辩白,我认为VCKBASE上有一个文章说得很对,正则表达式 是未来绝不会失落业的技能中的一种。

再说个近点的例子,大漠插件,如果你开拓过图色插件,如果你要找一个图,你去循环搞几百万次判断,我只能说你太笨了,如果你懂得用字符串函数,那么你比较聪明了,如果你懂得用正则来匹配,撇开措辞和正则库不说,那么你的插件的效率就可以遇上大漠了。

phpstr_match技巧_按键精灵脚本开拓之若何处理字符串事半功倍正则表达式的应用 phpstr_match技巧_按键精灵脚本开拓之若何处理字符串事半功倍正则表达式的应用 网站建设

关于正则表达式,我也会发专题解释,不明白的可以持续关注我.可以先查询一下.

phpstr_match技巧_按键精灵脚本开拓之若何处理字符串事半功倍正则表达式的应用 phpstr_match技巧_按键精灵脚本开拓之若何处理字符串事半功倍正则表达式的应用 网站建设
(图片来自网络侵删)

当然你也可以直接看这个教程,我想,这个帖子的难度不算太高。
由于VBS的正则库利用起来实际上很大略。

正则库虽然大略了,但是正则表达式却不大略,我认为它很绕人,因此,我是强烈建议把VBS的字符串函数玩到火候了,再来看正则。
当然,在这里,我会以实际的例子来解释正则表达式的方便之处,然后才见告你什么符号代表什么意思,以是,只要你有那么点耐心,你肯定是能学会的。

说到例子了,来吧,还是举例来解释。

给你一个字符串

str = \公众38snd0d92hellop1s5gworld\公众

我要让你取出d92之后的内容取出的字符到p1s5g的前一个字符为止,然后取出p1s5g后的所有字符串直到结束,末了把取出的两个字符串合并为一个字符串,并且中间加一个空格。

好了,你凭肉眼看,你知道我要让你把hello world取出来,但是假如有1000个字符,10000个字符,你还要看么?

先来一段VBS的代码,我不会太详细的解释VBS的例子,当然方法有很多,字符串函数很灵巧,我只是随手一写,写出来和正则对照字符串函数有多麻烦,你们不要看我的代码把自己看傻了。

Dim str, in1, in2, l1, l2, r1, r2

str = \"大众38snd0d92hellop1s5gworld\"大众

'先找出\"大众d92\"大众的和\"大众p1s5g\"大众的位置,长度也整出来。

in1 = Instr(str, \"大众d92\"大众)

in2 = Instr(str, \公众p1s5g\"大众)

l1 = Len(\公众d92\"大众)

l2 = Len(\"大众p1s5g\"大众)

'然后Mid函数就可以开工了

r1 = Mid(str, in1 + l1, in2 - in1 - l1)

r2 = Mid(str, in2 + l2, len(str) - in2 - l2 + 1)

'末了把取出的r1和r2合并一下,大功告成

ret = r1 & \"大众 \"大众 & r2

MsgBox ret

下面便是正则的代码了

str = \公众38snd0d92hellop1s5gworld\公众

Dim regEx, Matches '声明一下要用到的两个玩意

set regEx = New RegExp '新建一个正则工具

regEx.Pattern = \"大众.+d92|p1s5g\"大众 '正则表达式

regEx.Global = true '全局可用性

regEx.IgnoreCase = false '区分大小写

Set Matches = regEx.Execute(str) 'Execute方法,在按键的VBS命令里有过先容的,便是将正则匹配搜索到的字符串放进一个数组里,没有多高明。

str = Replace(str, Matches(0), \公众\"大众)'更换搜索到的第一个字符串为空字符

str = Replace(str, Matches(1), \"大众 \"大众)'更换搜索到的第二个字符串为一个空格

MsgBox str

下面,紧张来说说,Pattenrn属性,也便是正则表达式了。

你可以看到regEx.Pattern = \公众.+d92|p1s5g\公众

个中的 . 匹配除了换行符之外的任意字符

个中的 + 匹配前面的表达式多次

d92 便是我给出的条件1

个中的 | 是将.+92与p1s5g分开匹配的符号,也便是,我同时要去匹配多个字符串时,匹配每一个不同的字符串,都要用 | 来分开。

末了的p1s5g便是我给出的条件2

全体正则表达式,我用中文来讲授出来吧,希望这样能方便你理解。

搜索开始位置的任意字符直到d92结束 和 搜索全体字符串中为p1s5g的字符串

开始位置的任意字符到d92结束 为 \公众38snd0d92\"大众

p1s5g便是匹配他自己了。

实行Excute方法后,就按先后顺序把搜索到的字符串放进数组了。

既然数组里有我们要的东西了,那么,就可以用replace来进行更换原有的字符串了。

现在我们比拟一下,和VBS的字符串函数比较,正则表达式去匹配这个字符串完成事情省了多少事。

VBS用字符串函数一共进行了2次查找,我想不管你用什么办法,2次查找都是不可避免的,然后进行了2次Mid获取函数,末了又操作了一次字符串合并。

如果你要处理的是一个很繁芜的字符串,比如我接下来要讲到的例子。
采集网页源码。
那么你用字符串函数,还须要去把稳看位置,要经由多次调试,你才能得到你想要的东西。

而正则表达式,通过一次性的匹配,通过2次replcae,就完成了我们所须要干的事了,如果你想说,VBS字符串函数同样可以通过replace来进行操作,那么我可以见告你,不管你如何操作,2次查找你是避免不了的,如果我给出的条件是n个,那么你就会杯具的创造,查找的次数便是n了,而正则表达式,无论我给出多少个条件,永久可以通过较少次数的匹配,多次更换函数,来获取到我须要的字符串。

好了,我们接着来连续吧,我接下来要举的实际例子,比如一个用户资料来作为例子。

既然是要取出他的资料,首先我们须要获取网页源码,获取网页源码的命令库已经有了,也不用我再写了。

然后,我们须要通过不雅观察网页源码来写正则表达式,右键-查看网页源文件,就可以看到了。

还是先上代码吧。

str = lib.网络.得到网页源文件(\"大众http://bbs.vrbrothers.com/forum.php?mod=viewthread&tid=285465&page=1&extra=#pid3355356\"大众)Dim regEx, Matches, Matchset regEx = New RegExp regEx.Pattern = \"大众<.+uid=606406.+class.+xi2(.+\n)+.+606406\公众regEx.Global = trueregEx.IgnoreCase = falseSet Matches = regEx.Execute(str)str = Matches(0)regEx.Pattern = \公众<.+cl\"大众 & chr(34) & \"大众>|<[a-z]+>|<\/[a-z]+>||UID|606406\"大众Set Matches2 = regEx.Execute(str)For Each Match In Matches2If Match = \"大众\"大众 Then str = Replace(str, Match, vbCrLf)Else str = Replace(str, Match, \公众\"大众)End IfNextMsgBox str

金猪脚本(原飞猪脚本)以按键精灵传授教化为主,涉及UiBot,Python,Lua等脚本编程措辞,传授教化包括全自动办公脚本,游戏赞助脚本,引流脚本,网页脚本,安卓脚本,IOS脚本,注册脚本,点赞脚本,阅读脚本以及网赚脚本等各个领域。
想学习按键精灵的朋友可以添加金猪脚本粉丝互换群:554127455 学习路上不再孤单,金猪脚本伴你一同发展.

相关文章

C语言烟花程序,技术与艺术的完美融合

随着科技的飞速发展,编程已成为现代社会不可或缺的一部分。在编程领域,C语言以其简洁、高效、易学等优势,成为众多编程爱好者首选的入门...

网站建设 2024-12-05 阅读0 评论0

C语言抽签程序,技术之美与随机之魅

在信息技术高速发展的今天,编程已经成为一种重要的技能。C语言作为一门历史悠久、应用广泛的编程语言,深受广大编程爱好者的喜爱。在众多...

网站建设 2024-12-05 阅读0 评论0

C语言网站设计,探索技术魅力与创新方法

随着互联网技术的飞速发展,网站设计已成为现代企业展示形象、拓展业务的重要途径。C语言作为一种高效、稳定的编程语言,在网站设计领域具...

网站建设 2024-12-05 阅读0 评论0

php取回cookie技巧_PHP Cookie

Cookie 是什么?cookie 常用于识别用户。cookie 是一种做事器留在用户打算机上的小文件。每当同一台打算机通过浏览器...

网站建设 2024-12-05 阅读0 评论0