>perl -wMstrict -le "my $text = 'XXXXXaXXXXX'; ;; for my $match ( $text =~ /(?<=[A-Z]{4})([a-z])(?=[A-Z]{4})/g ) { print $match, $/; } " a #### >perl -wMstrict -le "my $text = qq{XXXXaXXXXbYYYYYcYYYYYdXXXXeXXXXfgXXXX\nXXXXhXXXXiYYYYY}; print qq{[[$text]]}; ;; my $result = join '', $text =~ m{ (?<= (?## >perl -wMstrict -le "for my $text (qw( XXXXaXXXX XXXXaXXXXxyXXXXbXXXXxZZZxZZZxYYYYY XXXXxZZZ ZZZxXXXX XXXXxYYYYY YYYYYxXXXX XXXXxyXXXX XXXXxyXXXXxyXXXX YYYYYaYYYYY ZZZaZZZ) ) { my $result = join '', $text =~ m{ (?<= (? '$result'}; } " 'XXXXaXXXX' -> 'a' 'XXXXaXXXXxyXXXXbXXXXxZZZxZZZxYYYYY' -> 'ab' 'XXXXxZZZ' -> '' 'ZZZxXXXX' -> '' 'XXXXxYYYYY' -> '' 'YYYYYxXXXX' -> '' 'XXXXxyXXXX' -> '' 'XXXXxyXXXXxyXXXX' -> '' 'YYYYYaYYYYY' -> '' 'ZZZaZZZ' -> ''