in reply to Regexp: How to match in middle but not the ends?

You said the solution...

my $string = '---LL--C----LCSH-------CSHL-------LCSLH-------LCCHLSHCL- +---'; # I want to loop through these strings and # find maximal sets of two or more of the capital letters # that do not begin or end with L while ($string =~ /([CSH][CSHL]*[CSH])/g) { print "$1, "; } __OUTPUT__ CSH, CSH, CSLH, CCHLSHC,