Припустимо, у мене є такий регекс:
-(\d+)-
і я хочу замінити, використовуючи C #, в групі 1 (\d+)з AA, щоб отримати:
-AA-
Тепер я замінюю його за допомогою:
var text = "example-123-example";
var pattern = @"-(\d+)-";
var replaced = Regex.Replace(text, pattern, "-AA-");
Але мені це не дуже подобається, тому що якщо я замінюю схему на відповідну _(\d+)_, мені доведеться теж змінити рядок заміни _AA_, і це суперечить принципу DRY.
Я шукаю щось на зразок:
Зберігайте відповідний текст саме таким, яким він є, але змініть Групу 1 на this textта Групу 2 на another text...
Правка:
Це був лише приклад. Я просто шукаю загальний спосіб робити те, що я говорив вище.
Він повинен працювати для:
anything(\d+)more_text і будь-який візерунок, який ви можете уявити.
Все, що я хочу зробити, це замінити лише групи, а решту матчу тримати.
:). На мій погляд, це рішення набагато краще і чіткіше, ніж використання шуму та огляду.