【发布时间】:2021-04-23 06:27:54
【问题描述】:
我在正则表达式中遗漏了一些东西,它正在删除逗号前每个项目的最后一个字母。
示例代码:
let test_json = {
"a" : { "a1" : "one", "is_active" : true, "a2" : "two" },
"b" : { "b1" : "one", "is_active" : true, "b2" : "two" }
};
JSON.stringify(test_json, null, 3).replace(/[^}],\n( )*"/g, ', "');
结果是:
"{
"a": {
"a1": "one, "is_active": tru, "a2": "two"
},
"b": {
"b1": "one, "is_active": tru, "b2": "two"
}
}"
我想要得到的是:
"{
"a": {
"a1": "one", "is_active": true, "a2": "two"
},
"b": {
"b1": "one", "is_active": true, "b2": "two"
}
}"
错误的地方:
"一,应该是"一",
"tru,应该是"true",
【问题讨论】:
-
"在非捕获组内匹配的文本仍然被消耗,与在任何组外匹配的文本相同。捕获组就像具有额外功能的非捕获组:除了分组,它允许您独立于整体匹配提取它匹配的任何内容。” - 来自:stackoverflow.com/questions/7505762/…
标签: javascript json regex