我无法理解为什么这段代码有效:
$seq = 'GAGAGAGA';
my $regexp = '(?=((G[UCGA][GA]A)|(U[GA]CG)|(CUUG)))'; # zero width match
while ($seq =~ /$regexp/g){ # globally
my $pos = pos($seq) + 1; # position of a zero width matching
print "$1 position $pos\n";
}
Run Code Online (Sandbox Code Playgroud)
我知道这是一个零宽度匹配,它不会把匹配的字符串放在$&中,但为什么它把它放在1美元?
谢谢!