假设我的数据如下
Hello { "I have {g{t{" braces { between "{" { quotes{ "{{"
如何匹配仅在引号之间的 { 符号?我试图仅在引号之间提取指定字符的出现次数。有任何想法吗?样本应匹配 6 个大括号
假设我的数据如下
Hello { "I have {g{t{" braces { between "{" { quotes{ "{{"
如何匹配仅在引号之间的 { 符号?我试图仅在引号之间提取指定字符的出现次数。有任何想法吗?样本应匹配 6 个大括号
var nb = str.split('"').filter(function(_,i){return i%2}).join('')
.split('{').length - 1;
s你的字符串在哪里
s.match(/"(.+?)"/g).reduce(function(p,c) {return p + (c.match(/{/g)||[]).length;}, 0);
由于有些人觉得正则表达式很吓人,我认为逐步了解它的工作原理可能会有所帮助。:)
/"(.+?)"/g为您提供原始字符串中所有带引号的字符串的数组。
/and/就像引号是字符串一样。表明g这是一个全局搜索——我们想要所有引用的字符串,而不仅仅是第一个。"表示要匹配的字符串前后的引号.表示任何字符+?是一个成语,表示正则表达式中直到下一个字符的所有内容;换句话说,非贪婪匹配。如果我们*在这里使用而不是在+?first 和 last 之间只找到一个大引号字符串",并且所有其他"s 都包含在其中!/{/g计算你的{字符。通过使用||[],我们确保0即使没有找到大括号字符,我们也会获得返回值。reduce,我们提供 的初始值0。