package main
import (
"regexp"
"fmt"
)
func main() {
var re = regexp.MustCompile(`(?m)Try[^\:]+\:\s(?<file>[^\v]+)?\vUpload\sFile\s(?<msg>[^\.]+\.[^\s]+\s[^\v]+)\v{2}Closing[^\d]+(?<time>[^(on)]+)on\s(?<date>[^\$]+)`)
var str = `
======================================================================
TGS
======================================================================
Opening log at 1:58:03 PM on 4/29/2016
Parameters :
TargetFile:
GeneratedControlFile:False
Path and filename :
Try upload file :
Upload File D:\Program Files\X529\Matrix IT Software PK\PTS\Files\JobLettrers\AppointLetters_2016_3_25_14_30.csv Complete, status : 226 Transfer complete.
Path and filename : D:\Program Files\X529\Matrix IT Software PK\PTS\Files\JobLettrers\AppointLetters_2016_3_25_14_30.csv
Try upload file :
Upload File D:\Program Files\X529\Matrix IT Software PK\PTS\Files\JobLettrers\AppointLetters_2016_3_26_14_30.csv Complete, status : 226 Transfer complete.
Path and filename : D:\Program Files\X529\Matrix IT Software PK\PTS\Files\JobLettrers\AppointLetters_2016_3_26_14_30.csv
Try upload file :
Upload File D:\Program Files\X529\Matrix IT Software PK\PTS\Files\JobLettrers\AppointLetters_2016_3_27_13_30.csv Complete, status : 226 Transfer complete.
Path and filename : D:\Program Files\X529\Matrix IT Software PK\PTS\Files\JobLettrers\BAAppointmentLetters_2016_4_7_13_0.csv
Try upload file :
Upload File D:\Program Files\X529\Matrix IT Software PK\PTS\Files\JobLettrers\BAAppointmentLetters_2016_4_8_13_0.csv Complete, status : 226 Transfer complete.
Path and filename : D:\Program Files\X529\Matrix IT Software PK\PTS\Files\JobLettrers\BAAppointmentLetters_2016_4_8_13_0.csv
Try upload file :
Upload File D:\Program Files\X529\Matrix IT Software PK\PTS\Files\JobLettrers\BAAppointmentLetters_2016_4_9_13_0.csv Complete, status : 226 Transfer complete.
Path and filename : D:\Program Files\X529\Matrix IT Software PK\PTS\Files\JobLettrers\BAAppointmentLetters_2016_4_9_13_0.csv
Try upload file :
Upload File D:\Program Files\X529\Matrix IT Software PK\PTS\Files\JobLettrers\BAAppointmentLetters_2016_4_9_13_0.csv Complete, status : 226 Transfer complete.
Closing log at 2:00:56 PM on 4/29/2016
`
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/