Помогите решить мою задачку, есть код:
string i_name = dr["name"].ToString();
string descr = dr["description"].ToString();
string pattern = @"<img src='([^<>]*?)\.([a-zA-Z]{3,4})'([^<>]*?>)";
string repl = "<img src='" + Transliteration.Front($1) + ".$2' alt='" + i_name + "' $3>";
dr["description"] = Regex.Replace(descr, pattern, repl);
Мне нужно в Transliteration.Front передать значение из первой группы регулярки $1, но я не пому как. В таком виде ругается, что символ $ не предусмотрен. Если начинаю пробовать варианты с кавычками, вроде
string repl = "<img src='" + Transliteration.Front(" + $1 + ") + ".$2' alt='" + i_name + "' $3>";
То он не подставляем значение, на выходе там получается просто 1.
В вашем коде Transliteration.Front(" + $1 + ") выполнится до начала работы Regex.
Используйте MatchEvaluator, если вы хотите обработать группу во время подстановки.
dr["description"] = Regex.Replace(descr, pattern,
m => "<img src='" + Transliteration.Front(m.Groups[1].Value) +
$".{m.Groups[2].Value}' alt='{i_name}' {m.Groups[3].Value}>");
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости