Припустимо, у мене є такий регекс:
-(\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
і будь-який візерунок, який ви можете уявити.
Все, що я хочу зробити, це замінити лише групи, а решту матчу тримати.
:)
. На мій погляд, це рішення набагато краще і чіткіше, ніж використання шуму та огляду.