首页 > 解决方案 > 如何在上标语法“^(text)”中支持 Markdown 链接语法“[text](link)”?

问题描述

所以我使用Markdown-it作为我的 Markdown 渲染器,并使用markdownitRegexp添加了一些自定义标签。

我的上标语法有问题^(text),它以“)”结尾,所以你不能使用链接[text](link),因为它们也以它结尾。

我想让它能够毫无问题地处理多个链接:

^(foo doo [bar](https://stackoverflow.com "baz") foo [doo](https://github.com)...)

这就是我现在使用的:

window.markdownitRegexp(
    /\^\(([\s\S]+?)[\)]/,
    function (match, utils) {
        const html = inlineRenderer('supsubscript').render(match[1], env);
        return `<sup>${html.replace(/\<p\>|\<\/p\>\s/g, '')}</sup>`;
    }
)

标签: javascriptregexmarkdownmarkdown-it

解决方案


我最终得到了这个:

\^\(((?:\[[^\]]*\]\([^)]*\)|[\s\S])+?)\)

推荐阅读