#include <StringConstants.au3> ; to declare the Constants of StringRegExp
#include <Array.au3> ; UDF needed for _ArrayDisplay and _ArrayConcatenate
Local $sRegex = "(?im)^(?<title>.+?)[_.\s-]+(?<season>S\d+)(?:[.\-\s_]*?(?<seasonmax>S?\d+))?(?=[_.\s](?!E\d+))"
Local $sString = "daily.show.name.2023.04.18.guest.name.1080p.web.h264-jebaited.mkv" & @CRLF & _
"BBC.News.at.Ten.2023.10.11.1080i.HDTV.DD2.0.H.264-BLS" & @CRLF & _
"WWE.NXT.2023.10.10.720p.WEB.h264-SPORTSNET" & @CRLF & _
"Tesco.How.Do.They.Really.Do.It.2023.1080p.HDTV.H264-DARKFLiX" & @CRLF & _
"Seth.Meyers.2023.10.09.Amy.Sedaris.1080p.WEB.h264-EDITH" & @CRLF & _
"NFL.2023.10.09.49ers.Vs.Cowboys.UNCUT.1080p.WEB.H264-SPORTSNET" & @CRLF & _
"Neighbours.S39E012.2023-10-05.Episode.8915.1080p.AMZN.WEB-DL.DDP2.0.H.264-SDCC " & @CRLF & _
"DFL.Supercup.2023 08 12.Bayern.Munchen.vs.RB.Leipzig.HDTV.2160p.AAC2.0.HEVC.mkv" & @CRLF & _
"The Late Show with Stephen Colbert (2015) - 2023-10-05 - Bob Odenkirk Fortune Feimster [2.0 WEBDL-1080p][x264]-EDITH.mkv" & @CRLF & _
"Anger Management (2012) - S02E15 - Charlies Patients Hook Up [WEBDL-1080p][AC3 5.1][h264]-BS.mkv" & @CRLF & _
"Ahsoka (2023) - S01E01 - Part One Master and Apprentice [DSNP WEBDL-1080p][EAC3 Atmos 5.1][h264]-NTb.mkv'" & @CRLF & _
"Loki - S01E01 - Glorious Purpose [DSNP WEBDL-1080p Proper][EAC3 Atmos 5.1][h264]-TOMMY.mkv'" & @CRLF & _
"Family - Guy (1999) - S01E01 - Death Has a Shadow [DSNP WEBDL-1080p][AAC 2.0][h264]-PHOENiX.mkv'" & @CRLF & _
"Neighbours.S39E012.2023-10-05.Episode.8915.1080p.AMZN.WEB-DL.DDP2.0.H.264-SDCC" & @CRLF & _
"Rick and Morty (2013) - S06E06 - JuRicksic Mort [HMAX DD 5.1 WEBDL-1080p][x264]-NTb.mkv" & @CRLF & _
"1923.S01E01.1080p.BluRay.TrueHD5.1.H.264-SLIPSTREAM " & @CRLF & _
"11.22.63.S01E01.2160p.WEB-DL.DDP5.1.H.265-NiXON" & @CRLF & _
"" & @CRLF & _
"1923.S01.1080p.BluRay.TrueHD5.1.H.264-SLIPSTREAM " & @CRLF & _
"11.22.63.S01.2160p.WEB-DL.DDP5.1.H.265-NiXON" & @CRLF & _
"Hello.World.S01.ntb.mkv" & @CRLF & _
"Hello.World.S01 - S03.ntb.mkv" & @CRLF & _
"Hello.World.S1.ntb.mkv" & @CRLF & _
"Hello.World.S01 S03.ntb.mkv" & @CRLF & _
"Hello.World.S01.Extras.ntb.mkv" & @CRLF & _
"Hello_World_S01_S02.ntb.mkv" & @CRLF & _
"Hello_World_S01-S03_ntb.mkv" & @CRLF & _
"Hello_World_S1_ntb.mkv" & @CRLF & _
"" & @CRLF & _
"Hello.World.S1E03.ntb.mkv" & @CRLF & _
"Hello.World.S031 E01.ntb.mkv" & @CRLF & _
"Hello_World_S01E01_ntb.mkv" & @CRLF & _
"Hello_World_S1E03_ntb.mkv" & @CRLF & _
"Hello.World.S01.E01.ntb.mkv" & @CRLF & _
"Hello_World_S01_E01_ntb.mkv"
Local $aArray = StringRegExp($sString, $sRegex, $STR_REGEXPARRAYGLOBALFULLMATCH)
Local $aFullArray[0]
For $i = 0 To UBound($aArray) -1
_ArrayConcatenate($aFullArray, $aArray[$i])
Next
$aArray = $aFullArray
; Present the entire match result
_ArrayDisplay($aArray, "Result")
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 AutoIt, please visit: https://www.autoitscript.com/autoit3/docs/functions/StringRegExp.htm