在Javascript中替换子字符串之间的特定字符

在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, '&#123;'); ' 可能的选项:

我有一个带有把手的HTML字符串,如下所示:

var text = '<p>This is the {{description}}</p><pre><code class="hljs">{{capitalize property}}</code></pre>'
string.replace(/<code[^>]*>({)<\/code>/g, '&#123;');
' 可能的选项:

我知道我可以将字符串附加到文档中,并使用jQuery对其进行操作。我还知道
DOMparser()
方法

有没有一种简单的方法可以用Javascript实现我正在尝试的功能?这种方法会有很大的性能缺点吗

我的尝试是这样的:

string.replace(/]*>({)/g',{;');

使用正则表达式解析HTML代码可能会非常慢,或者导致意外后果

无论如何,此代码尝试定位所有
块,并将
{{
}
替换为
[[
]
。代码块可以具有多个属性

text.replace(/]+)*>(?:.*.{{.+})*.*/g,函数(a){
返回(a.replace(/{{/g,“[[”)。replace(/}}}/g,“]]”);
})

您需要使用HTML解析器。
string.replace(/<code[^>]*>({)<\/code>/g, '&#123;');
text.replace(/<code(?:\s+[^>]+)*>(?:.*?{{.+?}})*.*<\/code>/g, function(a) {
    return(a.replace(/{{/g, "[[").replace(/}}/g, "]]"));
})