首页›文章›perl pos函数详解

perl pos函数详解

计算机技术 · perl 程序开发2013-11-200次浏览0 个评论

pos函数返回上一次 m//g 对 SCALAR 搜索在 SCALAR 中留下来的位置。
用法如下:

text
pos SCALAR

它返回在最后一个匹配字符后面的字符的偏移量。(也就是说,它等效于 length(‘)+length(`) + 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

评论加载中…

发表评论

0/2000