Javascript 正则表达式替换第一个元素
我需要将HTML字符串的内容从一个Javascript 正则表达式替换第一个元素,javascript,regex,replace,Javascript,Regex,Replace,我需要将HTML字符串的内容从一个替换为两个。但我无法做到的是,当一个标签紧跟着另一个标签时: () 将匹配此文本中的所有标记: var text = 'text<BR><BR>text text<BR>text;' var text='texttexttext;' 将匹配和替换我将有 text = text.replace.replace(/(<br\s*\/?>)>/gi, "<BR\/><BR\/>") c
替换为两个。但我无法做到的是,当一个标签紧跟着另一个标签时:
()
将匹配此文本中的所有标记:
var text = 'text<BR><BR>text text<BR>text;'
var text='text
text
text;'
将匹配和替换我将有
text = text.replace.replace(/(<br\s*\/?>)>/gi, "<BR\/><BR\/>")
console.log(text); //text<BR/><BR/><BR/><BR/>text text<BR/><BR/>text;"
text=text.replace.replace(/()>/gi,”)
console.log(文本)//文本
文本
;"
有没有办法只使用正则表达式增加一个标记?并实现这一点:
console.log(text); //text<BR/><BR/><BR/>text text<BR/><BR/>text;"
console.log(text);//text
text
text
或者我只会通过一个循环来实现这一点 您可以使用
var text='text
text
text;'
text=text.replace(/()+/gi,“$&$1”);
console.log(文本);//=>文本
文本
文本代码>如果存在任何连续的标记,则可以使用负前瞻()(?!)/
仅增加最后一个标记:
var text='text
text
text;'
text=text.replace(/()(?!)/gi,“”)
console.log(文本)代码>是否要在替换中硬编码
?您不想只添加序列中最后使用的br
?我刚刚尝试并获得了文本
文本
文本代码>您想要输出什么?文本
text
text@WiktorStribiżew我不需要硬编码
,如果我只能增加一个BR标记,那么它也应该工作;