zghwelcome 发表于 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

据我所知,正则本身不支持计算。

minidick 发表于 2017-8-31 14:17:18

eval("${2}")会先执行,结果为"",再执行StringRegExpReplace,所以得不到你要的结果。
StringRegExpReplace本身也只能对包含$1$2的字符串进行替换,无法计算

zghwelcome 发表于 2017-9-1 08:55:56

综合各位的指导,看样子,正则替换内部是没法这么实现运算了
只好拆分后逐行替换了
**** Hidden Message *****

menfan1 发表于 2017-9-6 14:47:20

看看如何运算的?

user030 发表于 2017-9-7 00:08:33

这种情况,是无法偷懒 少写几行的了

862228699 发表于 2018-5-31 00:46:36

有结果么。。
页: [1]
查看完整版本: 【已解决】请教一个正则替换问题,是否可以在替换里面实现运算?