Предположим, что у меня есть следующее регулярное выражение:
-(\d+)-
и я хочу заменить, используя С#, группу 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
...
Edit:
Это был просто пример. Я просто ищу общий способ сделать то, что я сказал выше.
Он должен работать для:
anything(\d+)more_text
и любой шаблон, который вы можете себе представить.
Все, что я хочу сделать, это заменить только группы и сохранить остальную часть соответствия.