package main
import (
"regexp"
"fmt"
)
func main() {
var re = regexp.MustCompile(`(?m)Try upload file : (?<file>.*)\nUpload File (?<msg>.*)([\S\s\n]*)\nClosing log at (?<time>.*) on (?<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/