正規表現の一致を置換し、Perlで置換をマッピングするにはどうすればよいですか?

StackOverflow https://stackoverflow.com/questions/420410

  •  05-07-2019
  •  | 
  •  

質問

つまり:

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