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

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

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

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

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

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

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

解决方法

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

perldoc

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)

所以,

pos($data) = pos($data) - 1;
原文链接:https://www.f2er.com/Perl/172323.html

猜你在找的Perl相关文章