Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl-Sensitive Sunglasses
 
PerlMonks  

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

by TedPride (Priest)
on Jul 30, 2006 at 17:56 UTC ( #564643=note: print w/replies, xml ) Need Help??


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

Perhaps the simplest solution is a two-part regex sequence:
$_ = '---LL--C----LCSH-------CSHL-------LCSLH-------LCCHLSHCL----'; while (m/([A-Z]+)/g) { ($s = $1) =~ s/^L+|L+$//g; print "$s\n" if $s; }
EDIT: Oops, missed that.

Replies are listed 'Best First'.
Re^2: Regexp: How to match in middle but not the ends?
by ikegami (Pope) on Jul 30, 2006 at 18:41 UTC

    It incorectly matches "C" in "-C-". (Two chars minimum.)

    $_ = '---LL--C----LCSH-------CSHL-------LCSLH-------LCCHLSHCL----'; while (m/([A-Z]+)/g) { ($s = $1) =~ s/^L+|L+$//g; print "$s\n" if length $s >= 2; }