Win8 Strawberry 5.8.9.5 (32) Sun 06/05/2022 5:38:06 C:\@Work\Perl\monks >perl use strict; use warnings; my $s = 'AAAAAXXXXXXXAAAXXXXXAXXXXAAAA'; print "'$s' \n"; $s =~ s{ (?: \G (?! \A) | (?<= A)) X (?= X* A) }{a}xmsg; print "'$s' \n"; ^Z 'AAAAAXXXXXXXAAAXXXXXAXXXXAAAA' 'AAAAAaaaaaaaAAAaaaaaAaaaaAAAA'