在Perl中使用正则表达式的匹配元素

1 regex perl

我有一个包含正则表达式的哈希:要在其中捕获的匹配数和变量及其匹配位置.例如:

my %hash = (
    reg_ex => 'Variable1:\s+(.*?)\s+\n\s+Variable2:\s+(.*?)\s+\n',
    count => 2,
    Variable1 => 1,
    Variable2  => 2,
);
Run Code Online (Sandbox Code Playgroud)

我将使用这个表达式中的一些代码另一部分,我将只是让说$to_be_matched_variable =~ /$hash{reg_ex}/,我们在这里获得所需要的比赛中$1,$2...

我需要使用键的值Variable1,它表示在我们通常使用的位置使用的匹配数$1.

我试着给予$.$hash{Variable1}$,$hash{Variable1}.我无法找到如何框架的东西,将等同于$1,$2...

dre*_*lax 7

尝试:

(my @ArrayOfMatches) = $to_be_matched_variable =~ /$hash{reg_ex}/;

my $Variable1 = $ArrayOfMatches[$hash{Variable1}];
Run Code Online (Sandbox Code Playgroud)