pos函数返回上一次 m//g 对 SCALAR 搜索在 SCALAR 中留下来的位置。
用法如下:
text
pos SCALAR它返回在最后一个匹配字符后面的字符的偏移量。(也就是说,它等效于 length(&)。)这个位置是下一次在该字串上 m//g 开始的偏移量。请注意字串开头的偏移量是0。比如:
perl
$graffito = "fee fie foe foo";
while ($graffito =~ m/e/g) {
print pos $graffito, "\n";
}打印 2,3,7,和 11,就是每个跟在“e”后面的字符的偏移量。pos 函数可以赋予一个数值以告诉下一次 m//g 开始的位置:
perl
$graffito = "fee fie foe foo";
pos $graffito = 4; # 忽略 fee,开始 fie
while ($graffito =~ m/e/g) {
print pos $graffito, "\n";
}这样只打印出 7 和 11。正则表达式断言 \G 只匹配当前 pos 为被搜索字串声明的位置。
评论
0评论加载中…