Я знаю, что вы можете использовать str.replace (/ something / g, «что-то еще») для замены всех вхождений определенной строки. Но если эта строка содержит побитовый оператор, код больше не работает. Он интерпретирует ^ как оператор xor, так как же с этим справиться? Как указать искать нить ^, а не оператор ^?
var str = "3^3^3";
var newStr = str.replace(/^/g, "**"); //returns "**3^3^3"
console.info(eval(newStr)); //returns error
желаемый результат:
var str = "3^3^3";
var newStr = something... // "3**3**3"
console.info(eval(newStr)); // 762597484987



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Просто уберите начальный символ.
/\^/g
^
var str = "3^3^3";
var newStr = str.replace(/\^/g, "**"); //returns "**3^3^3"
console.info(eval(newStr));