【发布时间】:2011-09-29 09:45:32
【问题描述】:
有没有办法在不陷入无限循环的情况下做到这一点?
while((my $var) = $string =~ /regexline(.+?)end/g) {
print $var;
}
这会导致无限循环,可能是因为直接从 while 内的正则表达式分配 var 每次都返回“true”?
我知道我能做到:
while($string =~ /regexline(.+?)end/g) {
my $var = $1;
print $var;
}
但我希望我能节省一行。有没有我可以使用的正则表达式修饰符或类似的东西?
(另外,这个符号/技巧实际上叫什么,如果我想搜索它:
(my $var) = $string =~ /regex/;
谢谢!!
【问题讨论】: