используются в MarkDownV2.
Написал код, который перед символами _*[]()~'#+-=|{}.,!\ добавляет косую черту \ экранирования. Но он упорно игнорирует сам символ экранирования. Даже не выводит, что он есть в строке!
Код:
let ekr = ['_', '*', '[', ']', '(', ')', '~', '`', '>', '#', '+', ' -', '=', '|', '{', '}', '.', '!','\\'];
let text = "1\T`mP_gg*";
let textOut="";
for (let i=0; i<text.length; i++) {
if (ekr.includes(text[i])) textOut += '\\';
textOut += text[i];
}
console.log(textOut=${textOut}); // textOut = 1T\`mP\_gg\*
Может есть какая регулярка, которая проще это сделает?
> var test = "a_b*c[d]e(f)g~h'i#j+k-l=m|n{o}p,q!r\\s" > console.log(test) a_b*c[d]e(f)g~h'i#j+k-l=m|n{o}p,q!r\s > console.log(test.replace(/([_*\[\]()~\\'#+-=|{}.,!])/g, "\\$1")) a\_b\*c\[d\]e\(f\)g\~h\'i\#j\+k\-l\=m\|n\{o\}p\,q\!r\\s
а в этом цифры тоже начинает экранировать
Обсуждают сегодня