仅使用onePerl替换或匹配正则表达式语句,如何修改以下代码:
我需要修改的值$pattern在下面的代码中,代码将计算在字符串中找到成功匹配的次数,前提是成功匹配的绝对位置满足特定条件。
$pattern = "F1";
$string = "F1234F12F1F1234F12F13";
$count = 0;
while ($string =~ /$pattern/g) {$count++}
print $count;
作为绝对位置条件的示例,您可以想到:
绝对位置能被 5 整除
在这种情况下,基于的值$string如上所述,输出将是:4。
请注意,一旦代码完成,在不同条件下成功匹配的绝对位置发生变化的唯一行将是代码的第一行。
谢谢你的帮助
您可以使用 perl 特殊变量@LAST_MATCH_START https://metacpan.org/pod/perlvar#LAST_MATCH_START得到输出:
use strict;
use warnings;
my $pattern = "F1";
my $string = "F1234F12F1F1234F12F13";
my $count;
while ( $string =~ /$pattern/g ) {
$count++ if $-[0] % 5 == 0;
}
print $count;
Output:
4
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)