Vamos supor que eu tenha o seguinte regex:
-(\d+)-
e quero substituir, usando C #, o Grupo 1 (\d+)por AA, para obter:
-AA-
Agora estou substituindo-o usando:
var text = "example-123-example";
var pattern = @"-(\d+)-";
var replaced = Regex.Replace(text, pattern, "-AA-");
Mas eu realmente não gosto disso, porque se eu alterar o padrão para corresponder _(\d+)_, também terei que alterar a string de substituição _AA_, e isso é contrário ao princípio DRY.
Estou procurando algo como:
Mantenha o texto correspondente exatamente como está, mas altere o Grupo 1 por this texte o Grupo 2 por another text...
Edit:
Isso foi apenas um exemplo. Estou apenas procurando uma maneira genérica de fazer o que eu disse acima.
Deve funcionar para:
anything(\d+)more_text e qualquer padrão que você possa imaginar.
Tudo o que quero fazer é substituir apenas grupos e manter o resto da partida.
:). Na minha opinião, essa solução é muito melhor e mais limpa do que usar lookahead e lookbehinds.