模式匹配后的字符串捕获

时间:2013-11-21 07:50:33

标签: regex perl string-matching

my $s = '>P1;MOREWORDS';
if ($s =~ m/^>.{2};.*/) {
    print "jjjjj\n";
    my $or = $s =~ /^>.{2};(.*)/;
}

当我尝试print $or时,我得到1,而不是MOREWORDS 我试图使用(.)进行捕获,但未能这样做。 它在匹配后正确打印jjjjjj

1 个答案:

答案 0 :(得分:4)

Match在标量上下文中返回一个布尔值。强制列表上下文使其返回捕获的字符串:

my ($or) = $s =~ /^>.{2};(.*)/;