gpt4 book ai didi

regex - 在 Perl 中的变量中用反斜杠替换文本

转载 作者:行者123 更新时间:2023-12-01 08:18:38 24 4
gpt4 key购买 nike

如何替换变量内的反斜杠?

$string = 'a\cc\ee';
$re = 'a\\cc';
$rep = "Work";

#doesnt work in variable
$string =~ s/$re/$rep/og;
print $string."\n";

#work with String
$string =~ s/a\\cc/$rep/og;
print $string."\n";

输出:
a\cc\ee
Work\ee

最佳答案

因为你在正则表达式中使用它——你可能想要 quotemeta()\Q\E (见 perldoc perlre)

perl -E'say quotemeta( q[a/asf$#@ , d] )'

# prints: a\/asf\$\#\@\ \,\ d

# Or, with `\Q`, and `\E`
$string =~ s/\Q$re\E/$rep/og;
print $string."\n";

关于regex - 在 Perl 中的变量中用反斜杠替换文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2969220/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com