JSFiddle - React, Tailwind, and code Playground
JavaScript
function escape(str) {
return str.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, '\\\\$&');
}
function replace(str, needle, replacement) {
var expr = '([^\\[]*)(' +
escape(needle) + ')([^\\]]*)';
return str.replace(new RegExp(expr, 'g'), '$1' + replacement + '$3');
}
document.body.innerHTML += replace('hello() [hello()] test()', '()', '@');