我正在尝试转义Discord支持的Markdown子集(*
,_
,`
,~
)。
已转义的字符不应添加额外的反斜杠。
这是我拥有的:
function escapeMarkdown(text) {
return text.replace(/([^\\]|^|\*|_|`|~)(\*|_|`|~)/g, '$1\\$2');
}
console.log(escapeMarkdown('*test* _string_ ~please~ `ignore` *_`~kthx \* \\~'));
这个可以正常工作,但是多个markdown字符放在一起时,并不会全部被转义。我不确定如何扩展它以允许这样做,而不使表达式变得非常复杂。
\\~
。 - qxz