【问题标题】:Perl equivalent of PHP's preg_callbackPerl 相当于 PHP 的 preg_callback
【发布时间】:2011-02-17 14:14:38
【问题描述】:

Perl 中有 preg_callback 等价物吗?

假设我想匹配一些东西并将其替换为用匹配的东西调用的函数的返回值。

【问题讨论】:

  • 当请求其他语言的等效函数时,最好解释它的作用和/或链接到该函数的文档。

标签: php regex perl


【解决方案1】:

使用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

【讨论】:

  • 感谢您的快速回复,您能否举一个简短的例子。假设我想用它的反向替换匹配的东西。
  • my $string = "abc"; (my $reverseString = $string) =~ s/(bc)/reverse $1/e; 将导致 $reverseString 变为 "acb" 。 @Joseph:我建议您编辑您的问题以询问相反的示例,以便我可以将其作为单独的答案发布。
  • 您还可以使用花括号作为替换分隔符,这使得第二个块更像“代码”s{pattern to match} {reverse($1)}e
猜你喜欢
  • 2015-05-20
  • 2011-03-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-01-13
  • 2011-04-01
  • 2018-11-16
  • 1970-01-01
相关资源
最近更新 更多