package main
import (
"regexp"
"fmt"
)
func main() {
var re = regexp.MustCompile(`(?<variable><variable.+?source=[\\]*"(?<source>.*?)[\\]*".*?>.*?<\/variable>)`)
var str = `customtracking=\"[{"name":"utm_source","value":"Loopify"},{"name":"utm_campaign","value":""},{"name":"utm_medium","value":"Page"},{"name":"utm_content","value":"<variable contenteditable=\\"false\\" name=\\"link type\\" source=\\"campaign.linkType\\" placeholder=\\"\\" date-locale=\\"\\" date-format=\\"\\">link type</variable>"}]\" class=\"loopify-link\">aliquam</a>, lobortis ante eu, consectetur nulla. Sed vitae posuere purus. Vivamus pretium et ipsum vel pretium. Nunc elementum tempus magna id iaculis.","button1":"Google","button2":"Read more"},"link1":{"type":"website","url":"https://www.google.com","uuid":"1a61717c-a686-4683-450c-5fa775b74b6f","target":"_blank","title":"","customTracking":[{"name":"utm_source","value":"Loopify"},{"name":"utm_campaign","value":"<variable contenteditable=\"false\" name=\"campaign name\" source=\"campaign.campaignName\" placeholder=\"\" date-locale=\"\" date-format=\"\">campaign name</variable>"},{"name":"utm_medium","value":"Page"},{"name":"utm_content","value":"<variable contenteditable=\"false\" name=\"link type\" source=\"campaign.linkType\" placeholder=\"\" date-locale=\"\" date-format=\"\">link type</variable>"}]}`
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/