String str = "あいうえお";
Matcher m = Pattern.compile("(うえ)").matcher(str);
StringBuffer sb = new StringBuffer();
while (m.find()) m.appendReplacement(sb, "hoge" + m.group(1) + "hoge");
m.appendTail(sb);
str = sb.toString();