如何使用 .replace() 替换包含按位运算符的字符串部分

How to use .replace() to replace parts of a string containing a bitwise operator

我知道您可以使用 str.replace(/something/g, "something else") 来替换所有出现的特定字符串。但如果该字符串包含按位运算符,代码将不再有效。它将 ^ 解释为异或运算符,那么您如何解决这个问题呢?您如何指定查找 string ^,而不是 operator ^?

var str = "3^3^3";
var newStr = str.replace(/^/g, "**"); //returns "**3^3^3"
console.log(eval(newStr)); //returns error

期望的结果:

var str = "3^3^3";
var newStr = something... // "3**3**3"
console.log(eval(newStr)); // 762597484987

只需转义起始符号。

/\^/g
 ^

var str = "3^3^3";
var newStr = str.replace(/\^/g, "**"); //returns "**3^3^3"
console.log(eval(newStr));