Markdown to Latex конвертер на C++ regex

Я хотел написать конвертер из MD в Latex на C++ используя regex. Возникли трудности при конвертировании ссылок, ведь в Latex и в MD отображаемый текст и ссылка находятся в разном порядке.

    [Link_text](stackoverflow.com)
    //\href{stackoverflow.com}{Link_text} 

Соответственно мне пришлось использовать группировку:

 string replace_links(string MD) {
     //TODO: Add boolean: if some Hyperref found add \usepackage{hyperref} to the top.

     regex link("\\[([^\[]+)\\]\\(([^\)]+)\\)");
     MD = regex_replace(MD, link, "\href{\2}\\(\1\\)");  //NW 
     return MD;}

При запуске с такими параметрами:

    string markdown = "[Link text](stackoverflow.com)";
    cout << replace_links(markdown);

Код выдаёт: введите сюда описание изображения

href{}().


Ответы (0 шт):