【发布时间】:2012-06-11 21:23:52
【问题描述】:
我想匹配两个不同的字符串,输出应该是 $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<
【问题讨论】:
-
"我正在使用 perl 5.8.5。"那是八岁。你真的应该考虑升级。