在这个特殊的perl正则表达式中,美元符号指向什么?

时间:2016-09-05 00:57:58

标签: regex perl

/AA[.<]$]ER/

我在网上运行一些正则表达式模式时遇到了这个问题,但无法将其分解。

我最初认为这是正常的EOS,但那些额外的角色,没有意义。

2 个答案:

答案 0 :(得分:4)

这可能是作者的错误,但$]在此处被视为特殊变量。具体而言,它是变量$OLD_PERL_VERSION的别名,其包含编码为数字的perl的版本,例如,我系统中的5.020002(对应于版本号5.20.2)。因此,该值将插入正则表达式中,并且字面上匹配。例如,在我的系统中,上述正则表达式只能成功匹配包含子串AA.5.020002ERAA<5.020002ER的字符串。

答案 1 :(得分:2)

$]是一个返回Perl版本号的特殊变量。正则表达式中可能出现特殊变量。