in reply to Regex to match range of characters broken by dashes

#!/usr/bin/perl -l # http://perlmonks.org/?node_id=1167857 use strict; use warnings; #my $seq = 'ATCGGATCTGGC'; my $seq = 'A-C-G--CTGGC'; my $tag = '___'; $seq =~ s/(?:-*[ATGC]-*){2}/$& =~ s#^-+|-+$##gr . $tag/e; $seq =~ s/$tag(?:-*[ATGC]-*){4}/$& =~ s#^-+|-+$##gr . $tag/e; print $seq;