remplacer le groupe de capture

Si j'ai une regex avec une capture d'un groupe, par exemple foo(_+f). Si je correspond à ce contre une chaîne de caractères et souhaitez remplacer la première capture d'un groupe à tous les matches avec baz de sorte que

foo___f blah foo________f

est converti à:

foobaz blah foobaz

Il ne semble pas être un moyen facile de faire cela en utilisant les bibliothèques standard. Si j'utilise Matcher.replaceAll() ce sera de remplacer tous les matches de l'ensemble du motif et de convertir la chaîne de

baz blah baz

Évidemment, je peux juste faire une itération sur les matchs, de stocker le début et la fin de l'index de chaque capture d'un groupe, puis revenir en arrière et de les remplacer, mais est-il un moyen plus facile?

Grâce,
Ne

source d'informationauteur Dónal