I want to replace {$variable_name}
in a string,like "Hi, my name is {$name}." will be change to "Hi, my name is Sam."
I thought $
will be represented as \$
, many RegExp test websites, like, https://www.regextester.com/, do the same.
My code is followed.
var str = "Hi, my name is {$name}.";
var reg = "\{\$name\}";
str = str.replace(new RegExp(reg,"g"), "Sam");
console.log(str); //Hi, my name is {$name}.
Then, I change the \$
to \\$
, it worked.
var str = "Hi, my name is {$name}.";
var reg = "\{\\$name\}";
str = str.replace(new RegExp(reg,"g"), "Sam");
console.log(str); //Hi, my name is Sam.
But I don't understand why, maybe my poor search skills, I didn't find an explanation.
Can anyone explain this to me? Thank you very much.