2010-05-10 60 views
7

Perl中有preg_callback等价物吗?Perl的等效PHP的preg_callback

比方说,我想匹配一些东西,并用匹配的东西调用的函数的返回值替换它。

+0

当要求从另一种语言的同等功能,这是一个好主意,它做了什么和/或链接文档的功能。 – daotoad 2010-05-10 19:25:29

回答

16

使用s///e - 评估修改器,你可以把任意的Perl代码放在第二部分。

$x = "this is a test"; 
$x =~ s/(test)/reverse($1)/eg; 
print $x; 

//this is a tset 

裁判:http://perldoc.perl.org/perlretut.html#Search-and-replace

+0

感谢您的快速回复,您能举一个简短的例子。假设我想用相反的方式替换匹配的东西。 – Joseph 2010-05-10 09:17:54

+0

'my $ string =“abc”; (my $ reverseString = $ string)=〜s /(bc)/ reverse $ 1/e;'会使'$ reverseString'变成'“acb”'。 @约瑟夫:我建议你编辑你的问题来请求反向例子,所以我可以把它作为一个单独的答案发布。 – Zaid 2010-05-10 09:23:41

+0

我已添加@Joseph,也感谢Zaid – YOU 2010-05-10 09:24:36