Supongamos que tengo la siguiente expresión regular:
-(\d+)-
y quiero reemplazar, usando C #, el Grupo 1 (\d+)con AA, para obtener:
-AA-
Ahora lo estoy reemplazando usando:
var text = "example-123-example";
var pattern = @"-(\d+)-";
var replaced = Regex.Replace(text, pattern, "-AA-");
Pero realmente no me gusta esto, porque si cambio el patrón para que coincida _(\d+)_, también tendré que cambiar la cadena de reemplazo _AA_, y esto va en contra del principio DRY.
Estoy buscando algo como:
Mantenga el texto coincidente exactamente como está, pero cambie el Grupo 1 por this texty el Grupo 2 por another text...
Editar:
Eso fue solo un ejemplo. Solo estoy buscando una forma genérica de hacer lo que dije anteriormente.
Debería funcionar para:
anything(\d+)more_text y cualquier patrón que puedas imaginar.
Todo lo que quiero hacer es reemplazar solo grupos y mantener el resto del partido.
:). En mi opinión, esa solución es mucho mejor y más limpia que usar lookahead y lookbehinds.