即:
echo H#97llo | MagicPerlCommand
标准输出:
Hallo
是MagicPerlCommand就像是
perl -pnle "s/#(\d+)/chr(\1)/ge"
(但这不起作用)。
答案 0 :(得分:10)
将MagicPerlCommand中的\1
更改为$1
。评估替换表达式时,\digit
反向引用样式不起作用(即s///e
)。
这适用于Windows和Linux。
答案 1 :(得分:4)
根据j_random_hacker
答案,您必须使用$1
而不是\1
。
这是因为对正则表达式使用“/e
”修饰符意味着右半部分只是另一个正常的Perl表达式,而不是正则表达式替换。既然它是Perl,你必须使用Perl的语法作为括号参考,而不是通常的正则表达式语法。