つまり、次のとおりです。
たとえば、a{3,}
少なくとも 3 回貪欲に 'a' に一致します。5 回、10 回などを見つけることができます。この数が必要です。コードの残りの部分でこの番号が必要です。
知らないうちに残りの作業を効率的に行うことはできませんが、Perl にはこの数値を与えるための組み込み変数があるのではないかと思いました。
キャプチャして使用するだけlength
です。
if (/(a{3,})/) {
print length($1), "\n";
}
@LAST_MATCH_END と @LAST_MATCH_STARTを使用
my $str = 'jlkjmkaaaaaamlmk';
$str =~ /a{3,}/;
say $+[0]-$-[0];
出力:
6
注意: これは 1 文字のパターンでのみ機能します。