my $pairRE = qr/ # Start regular expression
\s* # zero or more spaces
C # 'C'
\d+ # one or more digits
\s+ # one or more spaces
( # Start group
to # 'to'
| # or
through # 'through'
) # End group
\s+ # one or more spaces
C # 'C'
\d+ # one or more digits
\s* # zero or more spaces
/x; # End regular expression, eXtended syntax
while (<DATA>) {
print
if / # Start regular expression
^ # Start of line
$pairRE # a pair
( # Start group
, # ','
$pairRE # a pair
){3,6} # End group - match 3 to 6 copies of this group
/x # End regular expression, eXtended syntax
}
__DATA__
C1 to C2 , C2 to C3 , C3 to C4 , C4 to C5 , C5 to C6 , C6 to C7
C1 to C2 , C2 to C3 , C3 to C4 , C4 to C5 , C5 to C6
C1 to C2 , C2 to C3 , C3 to C4 , C4 to C5
C1 to C2 , C2 to C3 , C3 to C4
C2 to C3 , C3 to C4 , C4 to C5 , C5 to C6 , C6 to C7
C3 to C4 , C4 to C5 , C5 to C6 , C6 to C7
C4 to C5 , C5 to C6 , C6 to C7
印刷
C1 to C2 , C2 to C3 , C3 to C4 , C4 to C5 , C5 to C6 , C6 to C7
C1 to C2 , C2 to C3 , C3 to C4 , C4 to C5 , C5 to C6
C1 to C2 , C2 to C3 , C3 to C4 , C4 to C5
C2 to C3 , C3 to C4 , C4 to C5 , C5 to C6 , C6 to C7
C3 to C4 , C4 to C5 , C5 to C6 , C6 to C7