package main
import (
"regexp"
"fmt"
)
func main() {
var re = regexp.MustCompile(`.*\d\s(\d+-\d+-\d+T\d+:\d+:\d+)(\+\d+:\d+)\s.*?\s(\d+,\d+\/\d+\/\d+) .*? .*? .*? (\d+:\d+:\d+),\d+,THREAT,(url),(\d+,\d+\/\d+\/\d+ \d+:\d+:\d+),(\d+\.\d+\.\d+\.\d+),.*`)
var str = `<14>1 2017-07-17T12:06:14+00:00 PA-VM 1,2017/07/17 - - - 05:11:16,007055000020053,THREAT,url,1,2017/07/17 05:11:16,10.10.201.182,13.107.4.50,10.10.6.64,13.107.4.50,Segmented_to_PVT,,,ms-update,vsys1,User Zone,PUB Zone,ethernet1/1,ethernet1/3,Log_Forwarding_Profile,2017/07/17 05:11:16,41324,1,56881,80,3969,80,0x40b000,tcp,alert,"au.download.windowsupdate.com/c/msdownload/update/software/secu/2017/07/windows10.0-kb4025339-x64_5_630b3945c0f68f2e3de0d8779d1e1e6c036e19ca.psf",(9999),computer-and-internet-info,informational,client-to-server,437956,0x0,10.0.0.0-10.255.255.255,United States,0,,0,,,3,,,AppThreat-0-0,0x0,,,,,,0,0,0,0,0,,PA-VM,,,,get,0,,0,,N`
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/