我試圖逃避Discord支持的降價子集(*
,_
,`
,~
)。 已經轉義的字符不應該添加額外的反斜槓。 這是我有:轉義markdown的Discord子集
function escapeMarkdown(text) {
\t return text.replace(/([^\\]|^|\*|_|`|~)(\*|_|`|~)/g, '$1\\$2');
}
console.log(escapeMarkdown('*test* _string_ ~please~ `ignore` *_`~kthx \* \\~'));
這工作得很好,減去事實,即對對方多次降價字符不會全部逃脫。我不確定如何擴大這個範圍,以免讓表達過於複雜。
如果角色已經在它前面的一個反斜槓,這並不一定意味着它是逃脫,例如'\\〜' – qxz
@qxz你完全正確。 – Gawdl3y