package main
import (
"regexp"
"fmt"
)
func main() {
var re = regexp.MustCompile(`(?im)^(.+?)[-. ]{0,3}s?(\d?\d)[ex](\d\d)[-. ]{0,3}(.*?)[-. ]?(?:(?=pulcione|eng|ita|\w+Mux|\w+dl|\d+p|XviD|NovaRip).+)?\.([\w]{2,3})$`)
var str = `The.Big.Bang.Theory.S07E01.L.Insufficienza.Da.Hofstadter.ITA.ENG.720p.DLMux.h264-GiuseppeTnT.avi
Bobs.Burgers.3x17.ITA.ENG.ErVaas92[TnT.Village].mkv
American Dad! - 8x03 - Tutore terrore.avi
Supernatural.2x09.Croatoan.ITA.DVDMux.XviD-NovaRip.avi
Futurama 07x03 Verdetto 3012 480p WEBDL x264 mSD EiZO.mkv`
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/