找回密码
 加入
搜索
查看: 1612|回复: 7

[AU3基础] [已解决]关于正则的问题

[复制链接]
发表于 2016-9-26 11:18:38 | 显示全部楼层 |阅读模式
本帖最后由 liuyilun 于 2016-9-26 18:17 编辑

麻烦大神看下这段代码可以优化吗

$a='http://d.abc.com/download/version/v1.2.3.4/abc_Setup_v1.2.3.4_guanwang_1.exe'
$name=StringRegExpReplace($a,".*\/","")
$qd=StringRegExp($name,"\d_(.*)_\d",3)
$name=StringRegExpReplace($name,$qd[0],"gw")
MsgBox(0,0,$name)
发表于 2016-9-26 15:28:09 | 显示全部楼层
$name = StringRegExpReplace('http://d.abc.com/download/version/v1.2.3.4/abc_Setup_v1.2.3.4_guanwang_1.exe', '.*/', "")
 楼主| 发表于 2016-9-26 15:49:50 | 显示全部楼层
回复 2# haijie1223


    感谢,原来这里不用转义,其实我主要想问后面两句能不能简化
发表于 2016-9-26 16:21:14 | 显示全部楼层
回复 3# liuyilun


    刚才看错了,我以为你只要匹配后面的部分。
$name=StringRegExpReplace('http://d.abc.com/download/version/v1.2.3.4/abc_Setup_v1.2.3.4_guanwang_1.exe','.*/(.*?)(_)(\w+)(_\d*\.exe)','$1$2gw$4')
发表于 2016-9-26 17:25:54 | 显示全部楼层
这是我请教的时候 可以替换来获取

Local $sSource = 'http://d.abc.com/download/version/v1.2.3.4/abc_Setup_v1.2.3.4_guanwang_1.exe'
;~MsgBox(0, '源字符串', $sSource)
Local $sSRERe = StringRegExpReplace($sSource, '.+\/', '')
MsgBox(0, '替换结果', $sSRERe)
 楼主| 发表于 2016-9-26 17:54:04 | 显示全部楼层
本帖最后由 liuyilun 于 2016-9-26 18:14 编辑

回复 4# haijie1223

感谢大神,果然可以,帮助文档里说的这个$0-$9是组文本是什么意思?能否解答一下
是不是前面匹配出来的组第一个字符串就是$1,第二个就是$2,以此类推,是这个意思吗?
发表于 2016-9-26 18:16:40 | 显示全部楼层
回复 6# liuyilun


    我的理解是这样的
发表于 2016-10-3 10:03:51 | 显示全部楼层
回复 4# haijie1223


    学习路过
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-3-29 05:50 , Processed in 0.072313 second(s), 19 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表