Aşağıdaki regex'im olduğunu varsayalım:
-(\d+)-
ve aşağıdakileri elde etmek için, C # kullanarak, Grup 1 (\d+)
ile değiştirmek istiyorum AA
:
-AA-
Şimdi şunu kullanarak değiştiriyorum:
var text = "example-123-example";
var pattern = @"-(\d+)-";
var replaced = Regex.Replace(text, pattern, "-AA-");
Ama bunu gerçekten sevmiyorum, çünkü _(\d+)_
bunun yerine deseni değiştirecek olursam, değiştirme dizesini _AA_
de değiştirmem gerekecek ve bu KURU ilkesine aykırı.
Gibi bir şey arıyorum:
Eşleşen metni tam olarak olduğu gibi tutun, ancak Grup 1'i this text
ve Grup 2'yi another text
... ile değiştirin.
Edit:
Bu sadece bir örnek oldu. Sadece yukarıda söylediğim şeyi yapmanın genel bir yolunu arıyorum.
Bunun için çalışması gerekir:
anything(\d+)more_text
ve hayal edebileceğiniz herhangi bir desen.
Tek yapmak istediğim sadece grupları değiştirmek ve maçın geri kalanını tutmak.
:)
. Bence bu çözüm, ileriye ve geriye bakış kullanmaktan çok daha iyi ve temiz.