即:

echo H#97llo | MagicPerlCommand

标准输出:

Hallo

是MagicPerlCommand就像是

perl -pnle "s/#(\d+)/chr(\1)/ge"

(但这不起作用)。

有帮助吗?

解决方案

在MagicPerlCommand中将 \ 1 更改为 $ 1 。评估替换表达式时, \ digit 反向引用样式不起作用(即 s /// e )。

这适用于Windows和Linux。

其他提示

根据 j_random_hacker 的答案,您必须使用 $ 1 而不是 \ 1

这是因为对正则表达式使用' / e '修饰符意味着右半部分只是另一个正常的Perl表达式,而不是正则表达式替换。既然它是Perl,你必须使用Perl的语法作为括号参考,而不是通常的正则表达式语法。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top