3

IE:

echo H#97llo | MagicPerlCommand

标准输出:

Hallo

MagicPerlCommand 类似于

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

(但这不起作用)。

4

2 回答 2

10

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

这在 Windows 和 Linux 上对我有用。

于 2009-01-07T14:10:19.147 回答
4

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

这是因为/e对正则表达式使用 ' ' 修饰符意味着右手边只是另一个正常的 Perl 表达式,而不是正则表达式替换。由于它是 Perl,因此您必须使用 Perl 的语法作为括号引用,而不是通常的正则表达式语法。

于 2009-01-07T14:15:22.897 回答