const regex = /{[^}{]*?"content"\s*:[^}{,]*?imgur\.com[^}{,]*?,[^}{]*?"from"\s*:[^}{,]*?ken_8520[^}{,]*?,[^}{]*?}/g;
// Alternative syntax using RegExp constructor
// const regex = new RegExp('{[^}{]*?"content"\\s*:[^}{,]*?imgur\\.com[^}{,]*?,[^}{]*?"from"\\s*:[^}{,]*?ken_8520[^}{,]*?,[^}{]*?}', 'g')
const str = `{"id": "1508640338717",
"displayName": null,
"originalarrivaltime": "2017-10-25T14:08:57.128Z",
"messagetype": "RichText",
"version": 1508640338717,
"content": "<a href=\\"https://i.imgur.com/RTzSZiY.jpeg\\">https://i.imgur.com/RTzSZiY.jpeg</a><e_m ts=\\"1508940494\\" ts_ms=\\"1508940494784\\" a=\\"live:ken_8520\\" t=\\"61\\"/>",
"conversationid": "8:markv",
"from": "8:live:ken_8520",
"properties": null,
"amsreferences": null},
{"id": "1508454757179",
"displayName": null,
"originalarrivaltime": "2017-10-23T10:29:14.857Z",
"messagetype": "RichText",
"version": 1508454757179,
"content": "<a href=\\"https://i.imgur.com/hhSOfJu.jpeg\\">https://i.imgur.com/hhSOfJu.jpeg</a><e_m ts=\\"1508754504\\" ts_ms=\\"1508754504997\\" a=\\"live:ken_8520\\" t=\\"61\\"/>",
"conversationid": "8:markv",
"from": "8:live:ken_8520",
"properties": null,
"amsreferences": null},
{"id": "1508405154918",
"displayName": null,
"originalarrivaltime": "2017-10-14T18:19:13.66Z",
"messagetype": "RichText",
"version": 1508405154918,
"content": "<a href=\\"https://i.imgur.com/u1QFzVu.gif\\">https://i.imgur.com/u1QFzVu.gif</a>",
"conversationid": "8:markv",
"from": "8:live:ken_8520",
"properties": null,
"amsreferences": null},
{"id": "1515194882829",
"displayName": null,
"originalarrivaltime": "2018-01-05T20:41:19.069Z",
"messagetype": "RichText",
"version": 1515194882829,
"content": "<a href=\\"https://i.imgur.com/IxcxW.gif\\">https://i.imgur.com/IxcxW.gif</a>",
"conversationid": "8:markv",
"from": "8:live:ken_8520",
"properties": {
"urlpreviews": "[{\\"key\\":\\"https://i.imgur.com/IxcxW.gif\\",\\"value\\":{\\"url\\":\\"https://i.imgur.com/IxcxW.gif\\",\\"size\\":\\"499834\\",\\"status_code\\":\\"200\\",\\"content_type\\":\\"image/gif\\",\\"site\\":\\"i.imgur.com\\",\\"category\\":\\"generic\\",\\"favicon\\":\\"https://neu1-urlp.secure.skypeassets.com/static/imgur-16x16.ico\\",\\"favicon_meta\\":{\\"width\\":16,\\"height\\":16},\\"thumbnail\\":\\"https://neu1-urlp.secure.skypeassets.com/img1/48c8cb02-cbff-4f3a-b7da-2c140a8d1b24.gif\\",\\"thumbnail_meta\\":{\\"width\\":216,\\"height\\":207},\\"user_pic\\":\\"\\"}}]"
},
"amsreferences": null}`;
// 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