指定回繰り返しに一致
中括弧({})で繰り返しの回数を指定できます。
{m,n}でm回以上n回以下の繰り返しになります。nを省略した場合、{m}でm回の繰り返し、{m,}でm回以上の繰り返しになります。
*は{0,}、+は{1,}、?は{0,1}と同じです。
my @data = qw(
abc
aabbcc
aaabbbccc
aaaabbbbcccc
);
foreach my $item (@data) {
print $item, "\n";
if ($item =~ m/(a{1,2})/) {
# aが1〜2個
print "\ta{1,2} / $1\n";
}
if ($item =~ m/(a{2})/) {
# aが2個
print "\ta{2} / $1\n";
}
if ($item =~ m/(a{3,})/) {
# aが3個以上
print "\ta{3,} / $1\n";
}
if ($item =~ m/(a{2,3}b{2,3}c{2,3})/) {
# aが2〜3個、bが2〜3個、cが2〜3個並んでいる
print "\ta{2,3}b{2,3}c{2,3} / $1\n";
}
}
