Как конвертировать между двумя типами разметки документов с помощью регулярных выражений в C#?

Я пытаюсь преобразовать разметку в стиле html, такую ​​как полужирный и курсив, в свой собственный формат разметки:

Жирное слово ---> * Жирное слово *

Таким образом, жирный тэг преобразуется в упаковку звезд и т. Д.

Какой самый простой / лучший / быстрый способ сделать это? Разбор строки вручную достаточно прост, но как насчет регулярных выражений?

Я использую C# .NET 3.5:)

2 ответа

Если ваш HTML вообще сложен - вложенные теги, несовпадающие теги и т. Д. - я бы рекомендовал использовать HTML Agility Pack для его анализа. Если вы хотите использовать RegEx для этого, обязательно следите за блогом Джеффа - они используют RegEx для разбора HTML Stackru.

Это должно сделать это:

s = Regex.Replace(s, "<b>(.*?)</b>", "*$1*");

до тех пор, пока у вас не будет ничего странного, как жирные метки внутри других жирных меток.

Другие вопросы по тегам