Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import re
- regular = "[\.-]?[sS](\d?\d)[\.]?[eE](\d{1,3})[\.-]?[eE]?(\d{2,3})?"
- fov = "\.?(\d{1,2})[x](\d{2,3})([\._-](\d{1,2}[x])?)?(\d{2,3})?[\._]?"
- retro = "\.[eE][pP](\d\d)"
- part = "((Part|Pt|PART)[\._-]?\d{1,3})[^\d]"
- iso8601 = ("((19|20)?\d\d)" #year
- "(?P<sep>[-\.]?)" #separator
- "(0[1-9]|1[012])" #month
- "(?P=sep)" #same separator
- "(0[1-9]|[12][0-9]|3[01])") #day
- daterev = ("(0[1-9]|[12][0-9]|3[01])"
- "(?P<pes>[-\.])"
- "(0[1-9]|1[012])"
- "(?P=pes)"
- "((19|20)?\d\d)")
- patterns = [regular, fov, retro, part, iso8601, daterev]
- fullPattern = ""
- for pattern in patterns:
- sep = "(.*" if fullPattern == "" else "|(.*"
- fullPattern += sep + pattern + ".*)"
- print(fullPattern)
- # (.*[\.-]?[sS](\d?\d)[\.]?[eE](\d{1,3})[\.-]?[eE]?(\d{2,3})?.*)|(.*\.?(\d{1,2})[x](\d{2,3})([\._-](\d{1,2}[x])?)?(\d{2,3})?[\._]?.*)|(.*\.[eE][pP](\d\d).*)|(.*((Part|Pt|PART)[\._-]?\d{1,3})[^\d].*)|(.*((19|20)?\d\d)(?P<sep>[-\.]?)(0[1-9]|1[012])(?P=sep)(0[1-9]|[12][0-9]|3[01]).*)|(.*(0[1-9]|[12][0-9]|3[01])(?P<pes>[-\.])(0[1-9]|1[012])(?P=pes)((19|20)?\d\d).*)
- matches = [
- "Jay.Leno.2009.09.14.Jerry.Seinfeld.720p.HDTV.x264-MOMENTUM",
- "Jay.Leno.2009-09-14.Jerry.Seinfeld.720p.HDTV.x264-MOMENTUM",
- "Jay.Leno.20090914.Jerry.Seinfeld.720p.HDTV.x264-MOMENTUM",
- "The.7pm.Project.2010.01.03.WS.PDTV.XviD-RTA",
- "The.7pm.Project.2010-01-03.WS.PDTV.XviD-RTA",
- "The.7pm.Project.20100103.WS.PDTV.XviD-RTA",
- "24.S07E24.PREAIR.DVDRip.XviD-TOPAZ",
- "24.S7E24.PREAIR.DVDRip.XviD-TOPAZ",
- "24.S7E124.PREAIR.DVDRip.XviD-TOPAZ",
- "24.S7.E124.PREAIR.DVDRip.XviD-TOPAZ",
- "24.S7.E1.PREAIR.DVDRip.XviD-TOPAZ",
- "Friends.S10E01.UNCUT.DVDRip.XviD-SiSO"
- "24.1x01.12.00.AM_1.00.AM.AC3.iNTERNAL.DVDRip_WS_XviD-FoV",
- "Above.Suspicion.Part2.HDTV.XviD-BiA",
- "Above.Suspicion.Pt2.HDTV.XviD-BiA",
- "Above.Suspicion.Part.2.HDTV.XviD-BiA",
- "Above.Suspicion.Part.22.HDTV.XviD-BiA",
- "Above.Suspicion.Part.222.HDTV.XviD-BiA",
- "Above.Suspicion.Part_2.HDTV.XviD-BiA",
- "Archangel.2005.PART2.DVDRip.XviD-MEDiAMANiACS",
- "All.Dogs.Go.To.Heaven.Part1.1989.720p.BluRay.x264-HALCYON",
- ]
- nomatch = [
- "Matrix.1999.German.DL.1080p.BluRay.x264.iNTERNAL-DARM",
- "Matrix.Reloaded.Extras.2003.XviDVD-TmN",
- "The.Matrix.1999.1080p.BluRay.MULTiSUBS.iNT.x264-GRiMRPR",
- "The.Animatrix.2003.720p.BluRay.x264-HANGOVER",
- "Friends.S10xE01.UNCUT.DVDRip.XviD-SiSO",
- "Drawing.Clipart.2000.DVDR...",
- "24.1X01.AC3.iNTERNAL.DVDRip_WS_XviD-FoV", # yes/no?
- ]
- # should not match; false positive, sees date
- # "24.1X01.12.00.AM_1.00.AM.AC3.iNTERNAL.DVDRip_WS_XviD-FoV",
- for rel in matches:
- m = re.match(fullPattern, rel)
- print(rel)
- assert m is not None
- print(m.groups())
- for rel in nomatch:
- m = re.match(fullPattern, rel)
- print(rel)
- assert m is None
- print("Done!")
- """ original one Skalman^:
- if(preg_match("/(e[0-9][0-9])|(s[0-9][0-9])|([0-9][0-9]x[0-9][0-9])|([0-9]x[0-9][0-9])|(part[0-9])|(part\-[0-9])|(part\.[0-9])/i", strtolower($filename))) {
- """
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement