我有2个RegExps。如何获取第一个RegExp匹配子字符串的开始位置,并从该位置开始查找第二个RegExp匹配?
UPD:例如:
$_ = "
=cut
vffdv
vdfvfd
vdfvfdvfd
=pod
dvfddv
vfdvfdvf
vdfvfdvfd
=end
";
$\ = "\n";
sub get {
my $_ = shift;
/=((\d|\w)+)/i;
return $1;
}
print get($_) while /^=/mg;
印刷
cut
cut
cut
但是我需要
cut
pod
end
您正在发送的$_
内容不会while
循环更改,而是在脚本开始运行时定义的get()
。
您需要捕获内容并发$1
送给函数。
print get($1) while /^=(.+)/mg;
边注; 多数时候,确实喜欢命名变量而不是隐式变量$_
。my $_ = ..
如果您期望对$_
全局进行动态作用域定义,这也很麻烦,而词汇法$_
正在破坏它。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句