const regex = new RegExp('[:]\\s(\\".*\\")|\\d+', 'g')
const str = `{
"code": 0,
"data": {
"album": {
"count": 2,
"itemlist": [
{
"docid": "24100646",
"id": "24100646",
"mid": "002mPgSG01LLtu",
"name": "无名的人",
"pic": "http://y.gtimg.cn/music/photo_new/T002R180x180M000002mPgSG01LLtu_1.jpg",
"singer": "毛不易"
},
{
"docid": "3834888",
"id": "3834888",
"mid": "0026ttFc17IeE3",
"name": "无问",
"pic": "http://y.gtimg.cn/music/photo_new/T002R180x180M0000026ttFc17IeE3_1.jpg",
"singer": "毛不易"
}
],
"name": "专辑",
"order": 2,
"type": 3
},
"mv": {
"count": 2,
"itemlist": [
{
"docid": "1449642",
"id": "1449642",
"mid": "001UwAbv4H9QVZ",
"name": "牧马城市",
"singer": "毛不易",
"vid": "k002671le5d"
},
{
"docid": "1352908",
"id": "1352908",
"mid": "003bjsSu20ltwY",
"name": "像我这样的人",
"singer": "毛不易",
"vid": "y0026hr4b5e"
}
],
"name": "MV",
"order": 3,
"type": 4
},
"singer": {
"count": 2,
"itemlist": [
{
"docid": "1507534",
"id": "1507534",
"mid": "001BHDR33FZVZ0",
"name": "毛不易",
"pic": "http://y.gtimg.cn/music/photo_new/T001R150x150M000001BHDR33FZVZ0_3.jpg",
"singer": "毛不易"
},
{
"docid": "4417724",
"id": "4417724",
"mid": "000pEm1i1BkmuD",
"name": "毛不易的留声机",
"pic": "http://y.gtimg.cn/music/photo_new/T001R150x150M000000pEm1i1BkmuD_1.jpg",
"singe": "毛不易的留声机"
}
],
"name": "歌手",
"order": 1,
"type": 2
},
"song": {
"count": 4,
"itemlist": [
{
"docid": "203514624",
"id": "203514624",
"mid": "00375L600p9sxv",
"name": "像我这样的人",
"singer": "毛不易"
}
{
"docid": "203451421",
"id": "203451421",
"mid": "003kLvu04bLGzi",
"name": "消愁",
"singer": "毛不易"
}
{
"docid": "213224236",
"id": "213224236",
"mid": "000uhMwj387EBp",
"name": "牧马城市",
"singer": "毛不易"
}
{
"docid": "336582682",
"id": "336582682",
"mid": "002QhULf16tWw1",
"name": "无名的人",
"singer": "毛不易"
}
],
"name": "单曲",
"order": 0,
"type": 1
}
},
"subcode": 0
}`;
// Reset `lastIndex` if this regex is defined globally
// regex.lastIndex = 0;
let m;
while ((m = regex.exec(str)) !== null) {
// This is necessary to avoid infinite loops with zero-width matches
if (m.index === regex.lastIndex) {
regex.lastIndex++;
}
// The result can be accessed through the `m`-variable.
m.forEach((match, groupIndex) => {
console.log(`Found match, group ${groupIndex}: ${match}`);
});
}
Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for JavaScript, please visit: https://developer.mozilla.org/en/docs/Web/JavaScript/Guide/Regular_Expressions