我有以下代码可以解释为什么这段代码进入无限循环以及如何捕获匹配的模式。
my $dis = (ff => 'dfsdf2'
yy => 'xx');
my $ra = Regexp::Assemble->new->track(1)->add(keys %dis);
my $data='blah blah ff dfsf yy';
while( $ra->match($data) ) {
my $res = $ra->matched;
print $res;
}
我正在使用v5.18.0草莓和更新的Regexp :: Assemble
答案 0 :(得分:0)
Regexp :: Assemble没有像这样的迭代内置支持。你必须这样做:
use 5.010;
my $re = $ra->re;
while ( $data =~ /$re/g ) {
my $res = $ra->source($^R);
print $res;
}