Devi utilizzare i gruppi:
codice:
String str = "acdf5620%ahdcneue20%";
str = str.replaceAll("([0-9])20%", "$120%20%");
Il $1 che ho sottolineato è ciò che è stato matchato nel gruppo 1 (ciò che c'è dentro alle parentesi nella RegEx) anch'esso sottolineato nella RegEx.

Ciao.