my $string = q/aab"123"bcc abc="123" abc="345" aab"123"bcc/; $string =~ s/(abc="123")/$1 aabbcc/; # or better (doesn't do unnecessary replacing) $string =~ s/(?<=abc="123")/ aabbcc/; __END__ Benchmark: timing 300000 iterations of lookback, normal... lookback: 4 wallclock secs ( 4.32 usr + 0.01 sys = 4.33 CPU) @ 69348.13/s (n=300000) normal: 6 wallclock secs ( 6.01 usr + 0.02 sys = 6.03 CPU) @ 49759.50/s (n=300000) Rate normal lookback normal 49759/s -- -28% lookback 69348/s 39% --