我正在使用的模式s///包含正则表达式特殊字符.我如何引用它们以便正则表达式引擎将它们视为文字字符.
我可以quotemeta在这样的模式中调用子例程()吗?
$string =~ s/quotemeta($regex)/$new/g;
Run Code Online (Sandbox Code Playgroud)
我该怎么办?
你的意思是你想在运算符中引用模式s///.
你可以使用\Q和\E转义来做到这一点:
$s =~ /\Q[a-z]\E//;
Run Code Online (Sandbox Code Playgroud)
会查找文字字符串[a-z]而不是单个字符a ... z.
您可以在计算机上安装的perldoc perlreref中找到此信息和其他有用信息perl.
Perl提供了出色的文档.人们应该定期浏览/阅读所有内容.