【已解决】请教一个正则替换问题,是否可以在替换里面实现运算?
本帖最后由 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 据我所知,正则本身不支持计算。 eval("${2}")会先执行,结果为"",再执行StringRegExpReplace,所以得不到你要的结果。
StringRegExpReplace本身也只能对包含$1$2的字符串进行替换,无法计算 综合各位的指导,看样子,正则替换内部是没法这么实现运算了
只好拆分后逐行替换了
**** Hidden Message ***** 看看如何运算的? 这种情况,是无法偷懒 少写几行的了 有结果么。。
页:
[1]