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