找回密码
 加入
搜索
查看: 1921|回复: 6

[AU3基础] 【已解决】请教一个正则替换问题,是否可以在替换里面实现运算?

  [复制链接]
发表于 2017-8-31 10:06:54 | 显示全部楼层 |阅读模式
本帖最后由 zghwelcome 于 2017-9-1 08:57 编辑

如图


;问题代码
;//测试字符串
Local $sStr = 'Just a test_123' & @CRLF & _
                'Another test_789' & @CRLF & _
                'Third test_65'


$sStr_Out = StringRegExpReplace($sStr,'(?im)(\D+?)(\d+)','${1}' & Eval('${2}')+2)
MsgBox(0,0,$sStr_Out)


#cs
理想输出(替换后的数字都加2):
        Just a test_125
                Another test_791
                Third test_67
#Ce                

本帖子中包含更多资源

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

×
发表于 2017-8-31 10:32:53 | 显示全部楼层
据我所知,正则本身不支持计算。

评分

参与人数 1金钱 +10 收起 理由
zghwelcome + 10 谢谢指点。

查看全部评分

发表于 2017-8-31 14:17:18 | 显示全部楼层
eval("${2}")会先执行,结果为"",再执行StringRegExpReplace,所以得不到你要的结果。
StringRegExpReplace本身也只能对包含$1$2的字符串进行替换,无法计算

评分

参与人数 1金钱 +10 收起 理由
zghwelcome + 10 谢谢指点。

查看全部评分

 楼主| 发表于 2017-9-1 08:55:56 | 显示全部楼层
综合各位的指导,看样子,正则替换内部是没法这么实现运算了
只好拆分后逐行替换了
游客,如果您要查看本帖隐藏内容请回复
发表于 2017-9-6 14:47:20 | 显示全部楼层
看看如何运算的?
发表于 2017-9-7 00:08:33 | 显示全部楼层
这种情况,是无法偷懒 少写几行的了
发表于 2018-5-31 00:46:36 | 显示全部楼层
有结果么。。
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-4-26 04:39 , Processed in 0.083309 second(s), 21 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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