gpt4 book ai didi

regex - 如何将 perl 正则表达式替换编写为表达式中的函数?

转载 作者:行者123 更新时间:2023-12-02 07:06:57 24 4
gpt4 key购买 nike

我有

my $x = "whatever 123";
$x =~ s/ //g;
$x =~ s/\d/9/g;
frobnicate($x);

尽管在现实生活中它要复杂得多、大得多。我想做的是以函数形式执行替换,如下所示:

my $x = "whatever 123";
frobnicate( regex_substitutions($x, s/ //g, s/\d/9/g) );

这在可读性方面可能看起来像是倒退了一步,但在现实生活中,这样的事情实际上会有所帮助。它的目标是避免在单独的语句中进行正则表达式替换,而是将其合并到表达式中。我猜长期的 perl 专家应该知道有一种巧妙且可读的方法来做到这一点。

(不仅有“不止一种方法”,而且询问任何特定事物的方法也不止一种。如果这个问题与现有问题多余,请原谅我。)

最佳答案

5.14引入/r(eturn):

frobnicate( $x =~ s/ //gr =~ s/\d/9/gr );

任何版本:

frobnicate apply { s/ //g; s/\d/9/g; } $x;

apply 来自List::MoreUtils .

关于regex - 如何将 perl 正则表达式替换编写为表达式中的函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10442196/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com