Javascript 用大括号括起字符串,并使用正则表达式进行转义

Javascript 用大括号括起字符串,并使用正则表达式进行转义,javascript,regex,Javascript,Regex,我想提取大括号内的文本。但复杂的是,任何带有前反斜杠的右大括号都应该包含在结果中 例如,对于字符串{abc123*-\},我想将文本提取为abc123*-\} 以下是我迄今为止所获得的一个代码示例: var content='{abc123*-\\}}{sdf}'; var regex=/\{(?([^\}]|)(?您可以使用 var content='{abc123*-\\}}{sdf}'; var regex=/\{([^\\{}]*(?:\\\[^][^\\{}]*)*)}/; var

我想提取大括号内的文本。但复杂的是,任何带有前反斜杠的右大括号都应该包含在结果中

例如,对于字符串
{abc123*-\}
,我想将文本提取为
abc123*-\}

以下是我迄今为止所获得的一个代码示例:

var content='{abc123*-\\}}{sdf}';
var regex=/\{(?([^\}]|)(?您可以使用

var content='{abc123*-\\}}{sdf}';
var regex=/\{([^\\{}]*(?:\\\[^][^\\{}]*)*)}/;
var firstMatch=content.match(regex);//结果'abc123*-\\'
如果(第一场比赛){
console.log(firstMatch[1]);//=>abc123*-\}
}
您可以使用

var content='{abc123*-\\}}{sdf}';
var regex=/\{([^\\{}]*(?:\\\[^][^\\{}]*)*)}/;
var firstMatch=content.match(regex);//结果'abc123*-\\'
如果(第一场比赛){
console.log(firstMatch[1]);//=>abc123*-\}

}
找到了一种适用于深嵌套花括号的解决方案

例1

var content='{abc123*-\\}}{sdf}';

var regex=/(?找到了一种适用于深嵌套花括号的解决方案

例1

var content='{abc123*-\\}}{sdf}';

var regex=/(?
[^]
可以替换为
吗?@Barun
只查找任何字符,但不查找换行字符。
[^]
[\s\s]
/
[\d\d]
/
[\w\w]
将查找任何字符。此外,最新ECMAST标准中带有
s
标志的
也将查找任何字符。Can
[^]
是否替换为
?@Barun
仅查找除换行符以外的任何字符。
[^]
[\s\s]
/
[\d\d]
/
[\w\w]会发现任何字符。此外,<>代码> <代码> > <代码> S/<代码>在最新的ECMA标准中也会这样做。如果我的解决方案为您工作,请考虑接受答案。否则,请让我们知道尚不清楚的内容。如果我的解决方案适用于您,请考虑接受答案。否则,请让我们知道还不清楚的是什么。