Я пытаюсь изменить подстроку с .replace() в javascript.
В принципе, я хочу поставить произвольный текст до и после матча.
var pattern = new RegExp("<div"+"(.*?)>", "g");
var text = "<div><div class='someClass'>"
text = text.replace(pattern, "<pre>"+"<div>"+ "$1" + ">" +"</pre>")
Код выше изменяет текст:
"<pre><div>></pre><pre><div> class='someClass'></pre>"
Кроме того, дополнительные «>>» это правильно, но это некрасиво в функции замены.
Как я могу изменить свое регулярное выражение, так что я
не должны использовать $ 1, так как он не полностью поддерживает according to this
Как я могу изменить заменить на что-нибудь попроще, как
text = text.replace(pattern, "<pre>"+ "THING_THAT_MATCHED" +"</pre>")
'$ 1 'в шаблоне замещающей и будет поддерживаться. –
У вас есть источник для этого? – humanbeing
Несомненно, [MDN String # replace()] (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/replace#Specifying_a_string_as_a_parameter). Вы ошибаетесь в свойствах RegExp, таких как 'RegExp. $ 1' и backreferences внутри шаблона замены. –