diff --git a/packages/parser/src/regex.ts b/packages/parser/src/regex.ts index 819ae1be..54cec5b1 100644 --- a/packages/parser/src/regex.ts +++ b/packages/parser/src/regex.ts @@ -1,6 +1,9 @@ const createRegex = (pattern: string): RegExp => new RegExp(`(? + createRegex(`${pattern}(?![ .\\-_]?sub(title)?s?)`); + export const PARSE_REGEX = { resolutions: { '2160p': createRegex( @@ -74,57 +77,57 @@ export const PARSE_REGEX = { 'H-SBS': createRegex('h?(alf)?[ .\\-_]?(sbs|side[ .\\-_]?by[ .\\-_]?side)'), }, languages: { - Multi: createRegex('multi|multi[ .\\-_]?audio'), - 'Dual Audio': createRegex( + Multi: createLanguageRegex('multi'), + 'Dual Audio': createLanguageRegex( 'dual[ .\\-_]?(audio|lang(uage)?|flac|ac3|aac2?)' ), - Dubbed: createRegex('dub(bed)?'), - English: createRegex('english|eng'), - Japanese: createRegex('japanese|jap'), - Chinese: createRegex('chinese|chi'), - Russian: createRegex('russian|rus'), - Arabic: createRegex('arabic|ara'), - Portuguese: createRegex('portuguese|por'), - Spanish: createRegex('spanish|spa|esp'), - French: createRegex('french|fra'), - German: createRegex('german|ger'), - Italian: createRegex('italian|ita'), - Korean: createRegex('korean|kor'), - Hindi: createRegex('hindi|hin'), - Bengali: createRegex('bengali|ben'), - Punjabi: createRegex('punjabi|pan'), - Marathi: createRegex('marathi|mar'), - Gujarati: createRegex('gujarati|guj'), - Tamil: createRegex('tamil|tam'), - Telugu: createRegex('telugu|tel'), - Kannada: createRegex('kannada|kan'), - Malayalam: createRegex('malayalam|mal'), - Thai: createRegex('thai|tha'), - Vietnamese: createRegex('vietnamese|vie'), - Indonesian: createRegex('indonesian|ind'), - Turkish: createRegex('turkish|tur'), - Hebrew: createRegex('hebrew|heb'), - Persian: createRegex('persian|per'), - Ukrainian: createRegex('ukrainian|ukr'), - Greek: createRegex('greek|ell'), - Lithuanian: createRegex('lithuanian|lit'), - Latvian: createRegex('latvian|lav'), - Estonian: createRegex('estonian|est'), - Polish: createRegex('polish|pol'), - Czech: createRegex('czech|cze'), - Slovak: createRegex('slovak|slo'), - Hungarian: createRegex('hungarian|hun'), - Romanian: createRegex('romanian|rum'), - Bulgarian: createRegex('bulgarian|bul'), - Serbian: createRegex('serbian|srp'), - Croatian: createRegex('croatian|hrv'), - Slovenian: createRegex('slovenian|slv'), - Dutch: createRegex('dutch|dut'), - Danish: createRegex('danish|dan'), - Finnish: createRegex('finnish|fin'), - Swedish: createRegex('swedish|swe'), - Norwegian: createRegex('norwegian|nor'), - Malay: createRegex('malay'), - Latino: createRegex('latino|lat'), + Dubbed: createLanguageRegex('dub(bed)?'), + English: createLanguageRegex('english|eng'), + Japanese: createLanguageRegex('japanese|jap'), + Chinese: createLanguageRegex('chinese|chi'), + Russian: createLanguageRegex('russian|rus'), + Arabic: createLanguageRegex('arabic|ara'), + Portuguese: createLanguageRegex('portuguese|por'), + Spanish: createLanguageRegex('spanish|spa|esp'), + French: createLanguageRegex('french|fra'), + German: createLanguageRegex('german|ger'), + Italian: createLanguageRegex('italian|ita'), + Korean: createLanguageRegex('korean|kor'), + Hindi: createLanguageRegex('hindi|hin'), + Bengali: createLanguageRegex('bengali|ben'), + Punjabi: createLanguageRegex('punjabi|pan'), + Marathi: createLanguageRegex('marathi|mar'), + Gujarati: createLanguageRegex('gujarati|guj'), + Tamil: createLanguageRegex('tamil|tam'), + Telugu: createLanguageRegex('telugu|tel'), + Kannada: createLanguageRegex('kannada|kan'), + Malayalam: createLanguageRegex('malayalam|mal'), + Thai: createLanguageRegex('thai|tha'), + Vietnamese: createLanguageRegex('vietnamese|vie'), + Indonesian: createLanguageRegex('indonesian|ind'), + Turkish: createLanguageRegex('turkish|tur'), + Hebrew: createLanguageRegex('hebrew|heb'), + Persian: createLanguageRegex('persian|per'), + Ukrainian: createLanguageRegex('ukrainian|ukr'), + Greek: createLanguageRegex('greek|ell'), + Lithuanian: createLanguageRegex('lithuanian|lit'), + Latvian: createLanguageRegex('latvian|lav'), + Estonian: createLanguageRegex('estonian|est'), + Polish: createLanguageRegex('polish|pol'), + Czech: createLanguageRegex('czech|cze'), + Slovak: createLanguageRegex('slovak|slo'), + Hungarian: createLanguageRegex('hungarian|hun'), + Romanian: createLanguageRegex('romanian|rum'), + Bulgarian: createLanguageRegex('bulgarian|bul'), + Serbian: createLanguageRegex('serbian|srp'), + Croatian: createLanguageRegex('croatian|hrv'), + Slovenian: createLanguageRegex('slovenian|slv'), + Dutch: createLanguageRegex('dutch|dut'), + Danish: createLanguageRegex('danish|dan'), + Finnish: createLanguageRegex('finnish|fin'), + Swedish: createLanguageRegex('swedish|swe'), + Norwegian: createLanguageRegex('norwegian|nor'), + Malay: createLanguageRegex('malay'), + Latino: createLanguageRegex('latino|lat'), }, };