如何在上标语法“^(text)”中支持 Markdown links 语法“[text](link)”?

How to support Markdown links syntax "[text](link)" inside superscript syntex "^(text)"?

所以我正在使用 Markdown-it as my Markdown renderer, and I added some custom tags using markdownitRegexp

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

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

^(foo doo [bar](https://whosebug.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>`;
    }
)

我最后得到了这个:

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