我是否需要在Perl正则表达式文字中转义分号?

10 regex syntax perl escaping

有人告诉我,我需要在Perl正则表达式文字中转义分号.也就是说,要匹配包含分号的行,我应该使用/\;/而不是/;/.

从我读过的内容来看,分号在正则表达式文字中没有特殊含义,因此转义它似乎是不必要的.我做了一些实验,/;/似乎工作正常.打开警告并且use strict;pragma生效,perl不抱怨.

有什么理由/\;/比为什么好/;/?这个版本是依赖的吗?

Sin*_*nür 14

绝对不需要以正则表达式模式转义分号.在近十年的时间里,我一直没有使用过Perl,而且我怀疑它曾经存在过.

可以在中找到特殊字符和转义序列的简明摘要perldoc perlreref.


Ada*_*kin 5

也许有人认为分号需要转义,因为它们的编辑器语法突出显示被嵌入的分号混淆了.根据我的经验,大多数编辑在处理Perl的语法时遇到了很多麻烦.请记住,只有perl可以解析Perl.


gho*_*g74 1

没有必要逃避它。