2017-08-14 79 views
-1

我有一个MongoDB的查询例如可以包含动态值在正则表达式的Javascript不匹配特定模式

[{$group: { _id: '$os_name', count: { $sum: 1 } }},{$sort:{count:-1}},{$out:'newc'},{$group: { _id: '$os_name', count: { $sum: 1 } }}] 
[{$group: { _id: '$browser', count: { $sum: 1 } }},{$sort:{count:-1}},{$out:'deffC'}] 

我想总是一致的一切,而不,{$out:'anything'}

最终的结果是

[{$group: { _id: '$os_name', count: { $sum: 1 } }},{$sort:{count:-1}},{$group: { _id: '$os_name', count: { $sum: 1 } }}] 
[{$group: { _id: '$browser', count: { $sum: 1 } }},{$sort:{count:-1}}] 
+0

[你不应该用正则表达式解析JSON(https://stackoverflow.com/a/1758162/6320039)(这是XML,但适用于JSON) –

回答

0

您的正则表达式匹配该字符串是这样的:/,\{\$out:'.*'\}/g

let s = `[{$group: { _id: '$os_name', count: { $sum: 1 } }},{$sort:{count:-1}},{$out:'newc'},{$group: { _id: '$os_name', count: { $sum: 1 } }}] 
 
     [{$group: { _id: '$browser', count: { $sum: 1 } }},{$sort:{count:-1}},{$out:'deffC'}]`; 
 

 
s = s.replace(/,\{\$out:'.*'\}/g, ''); 
 

 
console.log(s);