perl – 如何将下一个搜索开始位置倒回1?

前端之家收集整理的这篇文章主要介绍了perl – 如何将下一个搜索开始位置倒回1?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
如何将下一个搜索位置的开头倒数1?例如,假设我想匹配#之间的所有数字.以下将只给我奇数.
my $data="#1#2#3#4#";

while ( $data =~ /#(\d)#/g ) {
  print $1,"\n";
}

但是如果我能够将下一个位置的开始倒数1,我会得到偶数和奇数.@H_301_5@

这不起作用:pos()= pos() – 1;@H_301_5@

我知道我可以用拆分完成这个.但这并没有回答我的问题.@H_301_5@

for (split /#/,$data) {
  print $_,"\n";
}

解决方法

你在$_上调用pos()而不是$data

perldoc起@H_301_5@

Returns the offset of where the last m//g search left off for the variable in question ($_ is used when the variable is not specified)@H_301_5@

所以,@H_301_5@

pos($data) = pos($data) - 1;

猜你在找的Perl相关文章