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标准中也会这样做。如果我的解决方案为您工作,请考虑接受答案。否则,请让我们知道尚不清楚的内容。如果我的解决方案适用于您,请考虑接受答案。否则,请让我们知道还不清楚的是什么。