[已解决]正则:如何实现替换?
本帖最后由 newuser 于 2011-1-11 16:12 编辑如何实现将foo(10,7,2)替换成foo(7,2,10)?
现在只是能匹配出 10 7 2,用下面的:
foo\(([^,]*),([^,]*),([^)]*)\),但如何实现替换他们呢? 回复 1# newuser
我的正则不怎样,效率方面还是等专业人士出场吧.
直接用正则来实现替换不容易,不过要实现的目标却不难$a=StringRegExp("foo(10,7,2)",'foo\(([^,]*),([^,]*),([^)]*)\)',3)
$b="foo("&$a&","&$a&","&$a&")" 其实楼主问的是替换
就是2楼的用法 $1 $2 $3分别对应第1 2 3 个捕获组 捕获到的内容 本帖最后由 newuser 于 2011-1-11 15:35 编辑
回复 2# republican
在au3.rehelper中如何实现呢?
在scite中:
#include <array.au3>
Local$Str="foo(10,7,2)"
Local$Result=StringRegExpReplace($Str,"foo\(\([^,]*\),\([^,]*\),\([^)]*\)\)","foo($2,$3,$1")
MsgBox(0,"",$Result) 回复 5# newuser
你不是已经做出来了麽?
回复 6# republican 回复 7# newuser
状态栏不是提示了吗:成功执行(无匹配),没有匹配当然不会替换~ 回复 8# afan
afan别生气,刚注意到! 回复 9# newuser 本帖最后由 republican 于 2011-1-11 16:33 编辑
回复 7# newuser
....我自己也没看到....
谢谢afan,又明白了一些东西了.
页:
[1]