Supponiamo che io abbia la seguente regex:
-(\d+)-
e voglio sostituire, usando C #, il Gruppo 1 (\d+)
con AA
, per ottenere:
-AA-
Ora lo sto sostituendo usando:
var text = "example-123-example";
var pattern = @"-(\d+)-";
var replaced = Regex.Replace(text, pattern, "-AA-");
Ma non mi piace proprio questo, perché se cambio invece lo schema in modo che corrisponda _(\d+)_
, dovrò anche cambiare la stringa di sostituzione _AA_
, e questo è contro il principio DRY.
Sto cercando qualcosa come:
Mantieni il testo corrispondente esattamente come è, ma modifica il Gruppo 1 di this text
e il Gruppo 2 di another text
...
Modifica:
questo era solo un esempio. Sto solo cercando un modo generico di fare quello che ho detto sopra.
Dovrebbe funzionare per:
anything(\d+)more_text
e qualsiasi modello tu possa immaginare.
Tutto quello che voglio fare è sostituire solo i gruppi e mantenere il resto della partita.
:)
. Secondo me, questa soluzione è molto migliore e più pulita dell'uso di lookahead e lookbehinds.