Regex Perl正则表达式中的Backtick字符`

Regex Perl正则表达式中的Backtick字符`,regex,perl,Regex,Perl,我继承了一个Perl代码库,它使用正则表达式解析XML文件。我知道这不是最优的。我有如下代码行: $title =~ s`<(.*?)>``g; 标准的Perl查找和替换采用 s/foo/bar/g; 什么是 s`foo`bar`g; 这些是划分正则表达式的替代方法。编写代码的人出于个人原因或可能出于代码可读性的原因选择使用其他代码。通常,如果模式经常涉及/,则会选择其他方式来避免转义正则表达式中的斜杠字符 提供更多信息。它只是一个不同的分隔符。使用反勾号是危险的,因为你可以用

我继承了一个Perl代码库,它使用正则表达式解析XML文件。我知道这不是最优的。我有如下代码行:

$title =~ s`<(.*?)>``g;
标准的Perl查找和替换采用

s/foo/bar/g;
什么是

s`foo`bar`g;

这些是划分正则表达式的替代方法。编写代码的人出于个人原因或可能出于代码可读性的原因选择使用其他代码。通常,如果模式经常涉及
/
,则会选择其他方式来避免转义正则表达式中的斜杠字符


提供更多信息。

它只是一个不同的分隔符。使用反勾号是危险的,因为你可以用它们来发出系统命令。回答得好。我可能想补充一句“不要使用反勾号作为正则表达式分隔符”,因为这是一个相当令人困惑的选项。通常我会使用括号内的一对,例如s,因为通常括号内的一对在阅读时更容易配对。在我使用的文本编辑器(vim)中,其默认语法高亮显示采用斜杠(
/
)或哈希字符(
#
)作为正则表达式分隔符。
s`foo`bar`g;