Я хочу найти и заменить специальные символы уценки (то есть \`*_{}[]()#+.!|-
) из заданной строки.
Я могу легко заставить его работать в C#, так как дословно @ но Javascript не понимаю, в чем проблема. Кажется, что-то связано с /g
, я читал в другом посте, в котором просили использовать replaceAll
, но я не смог найти этот метод для string
C# версия
string test = @"B
*H*
C
**AB**";
Console.WriteLine ("Input " + test);
var pattern = @"[\\`*_{}\[\]()#+-.!]";
var _1 = Regex.Replace (test, "\r?\n", "<br/>");
var out_ = Regex.Replace (_1, pattern, m => @"\" + m.Value);
Console.WriteLine ("Output " + out_);
машинописная версия
const regexM = new RegExp(/[\\\`\*\_\{\}\[\]\(\)#\+-\.!\|]/g, 'm');
var input = `B
*H*
C
**AB**`;
var inputString = input.replace(regexM, function (y: any) { return "\\" + y; });
if (/\r|\n/.exec(inputString))
{
inputString = inputString .replace(/\r?\n/g, "<br/>");
}
inputString = inputString.replace(regexM, function (x: any)
{
return "\\" + x;
});
Ожидается: B <br/>\*H\*<br/>C<br/>\*\*AB\*\*
Я получаю B <br/>\*H*<br/>C<br/>**AB**