package main
import (
"regexp"
"fmt"
)
func main() {
var re = regexp.MustCompile(`{[^}{]*?"content"\s*:[^}{,]*?imgur\.com[^}{,]*?,[^}{]*?"from"\s*:[^}{,]*?ken_8520[^}{,]*?,[^}{]*?}`)
var 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}`
for i, match := range re.FindAllString(str, -1) {
fmt.Println(match, "found at index", i)
}
}
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 Golang, please visit: https://golang.org/pkg/regexp/