$x = "1234"; $x =~ s{(?!)3(?!)}{($1)a($2)}; print $x; #output must be: 12a4 #### $text =~ s/()((?:(?!).)*)3((?:(?!<\/td>).)*)/$1$2a$3/; OR $text =~ s{(?<=)((?:(?!).)*)3((?:(?!).)*)(?=)}{$1a$2};