Я хотел бы построить сборку регулярных выражений общего регулярного выражения, которое я должен использовать в своем проекте. Я использую эти регулярные выражения для соответствия шаблону и его замены. Я использую этот кусок кода, который строит сборку.Скомпилировано заменить регулярное выражение
AssemblyName an = new AssemblyName("MyRegExp");
RegexCompilationInfo[] rciList = {
new RegexCompilationInfo(@"\<b\>(.+?)\<\/b\>", RegexOptions.IgnoreCase, "BoldCode", "MyRegExp", true),
new RegexCompilationInfo(@"\<i\>(.+?)\<\/i\>", RegexOptions.IgnoreCase, "ItalicCode", "MyRegExp", true)
};
Regex.CompileToAssembly(rciList, an);
Но я не могу найти, где указать строку замены. На самом деле, я буду использовать это regexp для замены тегов в html-файле. Таким образом, строка replace также является постоянной.
Я не хочу, чтобы вызывающая сборка указывала строку замены, так как она всегда одна и та же, в отличие от разных сборочных сборок.
Заранее спасибо за любой совет, Fabian
EDIT1:
Может быть, я misexplained, что мне нужно делать. У меня есть несколько регулярных выражений, которые всегда заменяются одним и тем же шаблоном. Я заменяю всю строку на строку, строка со строкой и так далее.
Скомпилированное регулярное выражение отлично, но я пропустил шаблон замены в скомпилированном сборке. Мне удалось создать обходное решение с классом Helper, чтобы построить массив Tranformation.
Мой первоначальный вопрос был больше: это способ указать в скомпилированном регулярном выражении строку замены?
Хорошая идея, то, что я нашел, такое же, как вы, Regex не поддерживает знание строки замены во время компиляции. Тем временем мне удалось написать класс Helper, который делает все. –