Как конвертировать между двумя типами разметки документов с помощью регулярных выражений в C#?
Я пытаюсь преобразовать разметку в стиле html, такую как полужирный и курсив, в свой собственный формат разметки:
Жирное слово b> ---> * Жирное слово *
Таким образом, жирный тэг преобразуется в упаковку звезд и т. Д.
Какой самый простой / лучший / быстрый способ сделать это? Разбор строки вручную достаточно прост, но как насчет регулярных выражений?
Я использую C# .NET 3.5:)
2 ответа
Если ваш HTML вообще сложен - вложенные теги, несовпадающие теги и т. Д. - я бы рекомендовал использовать HTML Agility Pack для его анализа. Если вы хотите использовать RegEx для этого, обязательно следите за блогом Джеффа - они используют RegEx для разбора HTML Stackru.
Это должно сделать это:
s = Regex.Replace(s, "<b>(.*?)</b>", "*$1*");
до тех пор, пока у вас не будет ничего странного, как жирные метки внутри других жирных меток.