Javascript 在正则表达式中全局替换HTML字符串
我有一个如下的HTML字符串:Javascript 在正则表达式中全局替换HTML字符串,javascript,regex,Javascript,Regex,我有一个如下的HTML字符串: 我的猫我的狗12345 我想使用正则表达式来替换全局字符串(将更改为,然后删除所有HTML,只保留: 我的猫我的狗12345 我尝试使用以下代码: var formatHTMLQuill = function (stringHTML) { let t = stringHTML.replace('</div><div>', '<br/>'); let n = t.replace(/<(?!br\s*\/?)[^>
我的猫我的狗12345
我想使用正则表达式来替换全局字符串(将
更改为
,然后删除所有HTML,只保留
:
我的猫
我的狗
12345
我尝试使用以下代码:
var formatHTMLQuill = function (stringHTML) {
let t = stringHTML.replace('</div><div>', '<br/>');
let n = t.replace(/<(?!br\s*\/?)[^>]+>/g, '')
return n
}
var formatHTMLQuill=函数(stringHTML){
让t=stringHTML.replace(“”,
);
设n=t.replace(/]+>/g',)
返回n
}
但它不起作用,结果是我的猫
我的狗12345
您可以先删除
,然后将
替换为
var formatHTMLQuill=函数(stringHTML){
让t=stringHTML.replace(/\/g');
设n=t.replace(/\/g,
)
返回n
}
log(formatHTMLQuill(“testtest1”)
您可以使用带有全局标志的正则表达式g
。g
修饰符用于执行全局匹配(查找所有匹配,而不是在第一次匹配后停止)
var html=`My catMy dog12345`
var formatHTMLQuill=函数(stringHTML){
让t=stringHTML.replace(//ig',)//删除start div
.replace(//ig,
)//替换关闭
.替换(/(\s*)+$/,“”);//删除最后一个
返回t;
}
console.log(formatHTMLQuill(html));
请验证以下代码:
var formatHTMLQuill=函数(stringHTML){
让t=stringHTML.replace(/()/g,
);
设n=t,替换(/(|)g,,);
返回(n);
}
log(formatHTMLQuill(“My catMy dog12345”);
我认为它只替换了let t=stringHTML.replace(“”
)中的第一次出现
@NambiMurugan是的,您需要带有g
标志的regexp来强制执行。替换可以多次执行。是否要在结尾处删除
?是否要在结尾处删除
?欢迎@feedGit