指定回繰り返しに一致
中括弧({})で繰り返しの回数を指定できます。
{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"; } }