Frage

D.h.:.

echo H#97llo | MagicPerlCommand

Stdout:

Hallo

waren MagicPerlCommand ist so etwas wie

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

(aber das funktioniert nicht).

War es hilfreich?

Lösung

Ändern \1 in Ihrem MagicPerlCommand $1. Der \digit Rückreferenzierung Stil funktioniert nicht t, wenn der Ersatz Ausdruck ausgewertet wird (das heißt s///e).

Das ist für mich unter Windows und Linux gearbeitet.

Andere Tipps

Gemäß der j_random_hacker Antwort, müssen Sie eher verwenden $1 als \1.

Dies liegt daran, mit dem ‚/e‘ Modifikator auf die regex bedeutet, dass die rechte Hälfte ist nur ein weiterer normaler Perl Ausdruck, und nicht eine regex Substitution. Da es Perl ist, haben Sie die Perl-Syntax für die Halterung Referenz und nicht die übliche regex Syntax verwenden.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top