我有一个简单的Perl系列
s/$var/'string'/g
Run Code Online (Sandbox Code Playgroud)
问题是$ var包含一个字符串jkdlsf$lkjl.请注意中间的美元符号.似乎因为这个美元符号,替换不起作用.当它在变量中时如何逃避?
使用quotemeta或\Q并\E嵌入正则表达式结构:
s/\Q$var\E/'string'/g;
# or
my $var = quotemeta 'jkdlsf$lkjl';
s/$var/'string'/g;
Run Code Online (Sandbox Code Playgroud)