1
4

1 回答 1

1

The following substitution seems to work for your input:

s/\\([\$\\])|\$(..)/$2 ? chr hex $2 : $1/ge;

Capture \$ or \\, if matched, replace them with $ or \. Otherwise, capture $.. and convert to the corresponding byte.

If you want to work with the result in Perl, don't forget to decode it from UTF-8.

$chars = decode('UTF-8', $bytes);
于 2019-05-02T22:28:04.213 回答