package main
import (
"regexp"
"fmt"
)
func main() {
var re = regexp.MustCompile(`(?s)^(?<eventtimestamp>[\d:. -]+)\|(?<TYPE>[a-zA-Z]+)\|(?<LOGLEVEL>[a-zA-Z]+)\|(?<IPaddress>[\d.]+)\|(?<HOSTNAME>[^|]+)\|(?<message>.*)$`)
var str = `2016-10-21 01:10:27.513|main|INFO|125.0.225.25|gdtl01db7i7h|{"instanceName":"testinstance","applicationId":"ABS3PP","transactionStatus":"C","responseCode":"0","responseDescription":"Success","initiatedTimestamp":"2016-09-19 00:00:00.0","elapsedTime":"44400.0","clientApp":"ServiceGateway~368","clientIp":"35.23.89.235","cluster":"P27C","httpMethod":"POST","requestURL":"/test/ctn"}`
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/