在Javascript中替换子字符串之间的特定字符
我有一个带有把手的HTML字符串,如下所示:在Javascript中替换子字符串之间的特定字符,javascript,regex,string,replace,substring,Javascript,Regex,String,Replace,Substring,我有一个带有把手的HTML字符串,如下所示: var text = '<p>This is the {{description}}</p><pre><code class="hljs">{{capitalize property}}</code></pre>' string.replace(/<code[^>]*>({)<\/code>/g, '{'); ' 可能的选项:
var text = '<p>This is the {{description}}</p><pre><code class="hljs">{{capitalize property}}</code></pre>'
string.replace(/<code[^>]*>({)<\/code>/g, '{');
'
可能的选项:
我知道我可以将字符串附加到文档中,并使用jQuery对其进行操作。我还知道DOMparser()
方法
有没有一种简单的方法可以用Javascript实现我正在尝试的功能?这种方法会有很大的性能缺点吗
我的尝试是这样的:
string.replace(/]*>({)/g',{;');
使用正则表达式解析HTML代码可能会非常慢,或者导致意外后果
无论如何,此代码尝试定位所有
块,并将{{
和}
替换为[[
和]
。代码块可以具有多个属性
text.replace(/]+)*>(?:.*.{{.+})*.*/g,函数(a){
返回(a.replace(/{{/g,“[[”)。replace(/}}}/g,“]]”);
})
您需要使用HTML解析器。
string.replace(/<code[^>]*>({)<\/code>/g, '{');
text.replace(/<code(?:\s+[^>]+)*>(?:.*?{{.+?}})*.*<\/code>/g, function(a) {
return(a.replace(/{{/g, "[[").replace(/}}/g, "]]"));
})