Regular Expressions 101

Community Patterns

TV Series filename parsing

3

Regular Expression
PCRE (PHP <7.3)

/
^((?<ShowNameA>.*[^ (_.]) [ (_.]+ (?!720p|1080p|264|265) ( # Shows with preceding Year #(?<ShowYearA>\d{4}) ([ (_.]+ ( (?<ShowYearA>(?:19|20)\d{2}) ([ (_.]+ ( (?<SeasonA>\d{1,2})x(?<EpisodeA>\d{1,2}) |(?<SeasonB>[0-3]?[0-9])(?<EpisodeB>\d{2}) |S(?<SeasonC>\d{1,2})E(?<EpisodeC>\d{1,2}) ) )? | # Shows without preceding Year (?<!\d{4})( S(?<SeasonD>\d{1,2})E(?<EpisodeD>\d{1,2}) |(?<SeasonF>[0-3]?[0-9])(?<EpisodeF>\d{2}) |(?<SeasonE>\d{1,2})x(?<EpisodeE>\d{1,2})) ) |(?<ShowNameB>.+))
/
mgxi

Description

Get TV Series name, season and episode numbers.

Submitted by anonymous - 8 years ago