$_ =~ s/\#N\/A//g;
它用 A\ 替换 \3N\ 是 perl 中的这些特殊字符吗?抱歉,我什至不知道如何查找此语法。
它正在从字符串中删除 #N/A $_
。
\#N
匹配#N
(转义#
)
\/A
匹配/A
(转义/
)
您可以通过更改替换分隔符来简化这看起来的混乱程度:
$_ =~ s|#N/A||g;
就像 Hunter McMillen 所说,它正在#N/A
从默认变量中删除。
但是你可以编写一些更易读、更短的代码:
s!#N/A!!g;
正如@Hunter McMillen 所提到的,这只是普通的正则表达式替换,特殊字符转义。它可能最好写成
s|#N/A||g
或者
s{#N/A}{}g
在 Damian Conway 的Perl Best Practices中,为了使正则表达式更具可读性,他建议:
s{ \# N \/ A }{}gmsx;
那是: