Supposons que j'ai le regex suivant:
-(\d+)-
et je veux remplacer, en utilisant C #, le groupe 1 (\d+)
par AA
, pour obtenir:
-AA-
Maintenant, je le remplace en utilisant:
var text = "example-123-example";
var pattern = @"-(\d+)-";
var replaced = Regex.Replace(text, pattern, "-AA-");
Mais je n'aime pas vraiment ça, car si je change le modèle pour qu'il corresponde à la _(\d+)_
place, je devrai aussi changer la chaîne de remplacement _AA_
, et c'est contraire au principe DRY.
Je recherche quelque chose comme:
Gardez le texte correspondant exactement comme il est, mais changez le groupe 1 par this text
et le groupe 2 par another text
...
Edit:
Ce n'était qu'un exemple. Je cherche juste une manière générique de faire ce que j'ai dit ci-dessus.
Cela devrait fonctionner pour:
anything(\d+)more_text
et n'importe quel modèle que vous pouvez imaginer.
Tout ce que je veux faire, c'est remplacer uniquement les groupes et conserver le reste du match.
:)
. À mon avis, cette solution est bien meilleure et plus propre que l'utilisation d'anticipation et de regard en arrière.