Я потратил несколько часов, пытаясь понять, что здесь происходит, глядя на переполнение стека и в других местах, и я не могу понять, что происходит. Буду очень признателен за любую помощь !!
Мне нужно заставить document.write('< /div>'); перейти в -> < /div>
Я упростил его до простейшего возможного случая с помощью примера HTML ниже.
<script>
var str = "document.write('</div>');";
str = str.replace("/document.write/g","");
console.info(str); //</div>
</script>Вы так говорите, но я уже давно пользуюсь regexr.com, W3Schools и MDN Web Docs. Я неправильно понял в Документах, где ввод должен был быть строкой | regexp. Я ценю помощь.



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


Исключите цитаты, и все работает. Он интерпретируется как строковый литерал из-за кавычек, тогда как литерал регулярного выражения выражается между простыми /.
Кроме того, . необходимо экранировать, иначе он соответствует любому другому одиночному символу.
<script>
var str = "document.write('</div>');";
str = str.replace(/document\.write/g,"");
console.info(str); //</div>
</script>Я по-прежнему рекомендую избегать .. Он соответствует буквальной точке (вместе со всем остальным), но я думаю, что OP действительно хотел буквальное совпадение.
Но это соответствует "document write" и "document-write" и ... вы поняли идею
str = str.replace(/document\.write\('/g,"")Флаг g вам не нужен. Также кажется, что OP сделал обновление.
Извините за путаницу с флагом g. В моем реальном жизненном случае у меня есть несколько совпадений в строке. Благодарю всех за помощь!
Вам не составило бы труда понять, если бы вы взглянули на в руководствах.