我想匹配两个不同的字符串,输出应该是 $1 和 $2,根据我在这个例子中,如果 $a 是 'xy abc',那么 $1 应该是 'xy abc' 而 $2 应该是 'abc',但是 'abc ' 部分售价为 3 美元。你能帮我写一个正则表达式,$1 应该有整个字符串,$2 应该有第二部分。我正在使用 perl 5.8.5。
my @data=('abc xy','xy abc');
foreach my $a ( @data) {
print "\nPattern= $a\n";
if($a=~/(abc (xy)|xy (abc))/) {
print "\nMatch: \$1>$1< \$2>$2< \$3>$3<\n";
}
}
输出:
perl test_reg.pl
Pattern= abc xy
Match: $1>abc xy< $2>xy< $3><
Pattern= xy abc
Match: $1>xy abc< $2>< $3>abc<