是否可以像Python一样使用Perl的正则表达式语法执行命名组匹配?我总是在匹配后将$n
值绑定到专有名称,因此如果可能的话,我会发现在正则表达式中这样做更方便
Python是这样做的:
>&燃气轮机&燃气轮机;进口稀土
&燃气轮机&燃气轮机&燃气轮机;regex=re.compile(r'(?P<;count>;\d+))
&燃气轮机&燃气轮机&燃气轮机;match=regex.match('42')
&燃气轮机&燃气轮机&燃气轮机;打印match.groupdict()
{'count':'42'}
我知道?p
表明它是一个特定于Python的正则表达式特性,但我希望它以不同的方式出现在Perl中,或者是后来添加的。在Perl中有没有类似的方法来获取结果哈希
Perl使用(?<;NAME>;模式)
指定名称。您必须使用%+
散列来检索它们
$variable=~/(?<;count>;\d+);
打印“计数为$+{Count}”;
但这仅在Perl5.10及更高版本上受支持