Существует несколько типов синтаксиса структурирования/форматирования простого текста, например:
Существует ли общий инструмент (более простой/более подходящий, чем reg-ex), который помогает определять и выполнять правила преобразования?
Pandoc (Лицензия: GPL) может импортировать:
и конвертировать в эти и различные другие форматы . (Пользовательские форматы можно добавить с помощью Lua.)
Это отдельная программа командной строки, которая поставляется с библиотекой Haskell.
Вы можете протестировать его онлайн: http://johnmacfarlane.net/pandoc/try/
С помощью txt2tags ( https://txt2tags.org/ ) вы можете экспортировать как минимум в 20 различных форматов, включая rtf (форматированный текст), латекс, HTML, википедия, креольский, докувики, реструктурированный текст, уценка, spip, AsciiDoc. ..
Существует импортер html для txt2tags ( https://wiki.txt2tags.org/index.php/Main/Html2wiki ), поэтому вы можете делать с ним практически все.
(редактировать) Чтобы быть более полным в моем ответе, да, я использую txt2tags в течение нескольких лет (по крайней мере, 7 или 8).
Единственный недостаток, о котором я могу думать, это то, что он менее известен, чем, например, уценка, но он старше (с 2001 года) и, на мой взгляд, лучше (более настраиваемый, более расширяемый, более логичный и не фрагментированный в своем синтаксисе).
Он имеет реализацию python 2 для всех упомянутых выше экспортов и реализацию php только для экспорта html.
Вы можете создавать специальные правила экспорта либо с помощью нового модуля определения синтаксиса, либо с помощью регулярных выражений. Для первого это довольно просто, например вот правило экспорта жирного шрифта в html модуль:
'fontBoldOpen' : '<B>' ,
'fontBoldClose' : '</B>' ,
С регулярным выражением вы можете сделать это в своем документе или в виде файла конфигурации.
Например, чтобы использовать strong вместо b в выводе html, вы можете создать это правило:
%!postproc: '<b>' '<strong>'
%!postproc: '</b>' '</strong>'
ДантеЭгрегор