+------------ Matched at pos 0. | +-------- Matched at pos 1. | |+------- Matched at pos 2. | || +----- Matched at pos 1. | || |+---- Matched at pos 2. | || ||+--- Matched at pos 3. | || ||| v vv vvv 'abcd' =~ /a(?!BC)..d/ # Matches #### my $s = 'abcd'; $s =~ s/a(?=bc)/x/; # xbcd my $s = 'aefg'; $s =~ s/a(?=bc)/x/; # abcd