找回密码
 加入
搜索
查看: 6809|回复: 23

[AU3基础] 请教正则替换\1和${1}的意义

 火.. [复制链接]
发表于 2015-12-21 06:53:11 | 显示全部楼层 |阅读模式
本帖最后由 afan 于 2015-12-21 11:50 编辑

想把 (1) 替换为 第1小题,用 '第\1小题' 只剩下 '第1,改为 '${1}' 就可以了,请问为什么?它们两个各有什么意义? 谢谢~
Global $S1 = '(1)、第\1小题,只剩下第1, [小题]两个字没有了。'
Global $S2 = '(2)、第${1}小题,就可以了。'
$Test = StringRegExpReplace($S1, '(?m)^\((\d)\)', '第\1小题')
$Test &= @LF & StringRegExpReplace($S2, '(?m)^\((\d)\)', '第${1}小题')
MsgBox(0, '替换结果', $Test)
发表于 2015-12-21 07:55:27 | 显示全部楼层
Global $S1 = '(1)、(2)、'
$Test = StringRegExpReplace($S1, '\((\d+)\)', '第$1小题')
MsgBox(0, '替换结果', $Test)
发表于 2015-12-21 07:55:28 | 显示全部楼层
Global $S1 = '(1)、(2)、'
$Test = StringRegExpReplace($S1, '\((\d+)\)', '第$1小题')
MsgBox(0, '替换结果', $Test)
发表于 2015-12-21 10:08:15 | 显示全部楼层
首先可以肯定的是,用 ${1} 总没错,特别是对于不可预知的字符串的替换,必须如此。
然后,这也是比较奇怪的问题,由于Au3版本使用的正则引擎的差异,带来不同的结果可以理解,但是这里却很难预料,居然对不同的汉字有分别对待…
以下是各个版本的测试,使用如下的最简测试代码
Local $S1 = '1'
Local $Test = StringRegExpReplace($S1, '(\d)', '第\1小题') & @LF & _
        StringRegExpReplace($S1, '(\d)', '第\1大题') & @LF & _
        StringRegExpReplace($S1, '(\d)', '第\1笑题') & @LF & _
        StringRegExpReplace($S1, '(\d)', '第\1a题') & @LF & _
        StringRegExpReplace($S1, '(\d)', '第\1题') & @LF & _
        StringRegExpReplace($S1, '(\d)', '第\1题目') & @LF & _
        StringRegExpReplace($S1, '(\d)', '第\1试过') & @LF & _
        StringRegExpReplace($S1, '(\d)', '第\1XXX')
MsgBox(0, '替换结果', $Test)
各版本用动画显示直观点,可以看到明显的差异

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
发表于 2015-12-21 12:35:18 | 显示全部楼层
回复 3# haijie1223

afan 有 3.3.9.4 喔

评分

参与人数 1金钱 +10 收起 理由
haijie1223 + 10 多谢前辈还记得此事!

查看全部评分

发表于 2015-12-21 13:10:15 | 显示全部楼层
回复 4# afan


    Afan,最新的SVN版本是哪个版本?可否共享一下?
发表于 2015-12-21 14:07:10 | 显示全部楼层
回复  afan


    Afan,最新的SVN版本是哪个版本?可否共享一下?
haijie1223 发表于 2015-12-21 13:10



    好像是 3.3.13.12 吧
发表于 2015-12-21 14:38:58 | 显示全部楼层
回复 7# afan


    有下载地址没?
发表于 2015-12-21 15:07:08 | 显示全部楼层
回复 8# haijie1223


    这里
可以试试用UC浏览器下载,我这迅雷下不了

评分

参与人数 1金钱 +30 贡献 +5 收起 理由
haijie1223 + 30 + 5 多谢分享!世界之窗表示可以下载!

查看全部评分

 楼主| 发表于 2015-12-21 15:38:48 | 显示全部楼层
谢谢各位大侠的指点, 我再练习试试!
发表于 2015-12-21 17:25:26 | 显示全部楼层
回复  afan


    Afan,最新的SVN版本是哪个版本?可否共享一下?
haijie1223 发表于 2015-12-21 13:10



为何非要  SVN 版本啊?
发表于 2015-12-21 17:35:55 | 显示全部楼层
回复  haijie1223


   
可以试试用UC浏览器下载,我这迅雷下不了
afan 发表于 2015-12-21 15:07


微软 IE 能下载! 是这个  https://codeload.github.com/xwxbug/autoit-cn/zip/master 吗?
这个是否为萧版的下载地址? 为何未见公开啊? 有什么讲究吗!
发表于 2015-12-21 17:53:49 | 显示全部楼层
微软 IE 能下载! 是这个   吗?
这个是否为萧版的下载地址? 为何未见公开啊? 有什么讲究吗!
131738 发表于 2015-12-21 17:35



    是的,是公开的,就是 SVN/GIT 里面的地址。只是没见过说明罢了…
发表于 2015-12-21 19:17:34 | 显示全部楼层
本帖最后由 131738 于 2015-12-21 19:22 编辑
是的,是公开的,就是 SVN/GIT 里面的地址。只是没见过说明罢了…
afan 发表于 2015-12-21 17:53


知道了, "SVN版本AU3安装/更新器,一次安装,方便升级." 失效了, 是吗?
发表于 2015-12-21 19:45:30 | 显示全部楼层
回复 14# 131738


    是的 只能自己下载
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-11-17 01:40 , Processed in 0.086819 second(s), 25 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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