diff --git a/src/NzbDrone.Core/Indexers/Definitions/AnimeBytes.cs b/src/NzbDrone.Core/Indexers/Definitions/AnimeBytes.cs index b87d12403..b966c3c7a 100644 --- a/src/NzbDrone.Core/Indexers/Definitions/AnimeBytes.cs +++ b/src/NzbDrone.Core/Indexers/Definitions/AnimeBytes.cs @@ -644,16 +644,16 @@ namespace NzbDrone.Core.Indexers.Definitions private static int? ParseSeasonFromTitles(IReadOnlyCollection titles) { - var advancedSeasonRegex = new Regex(@"(\d+)(st|nd|rd|th) Season", RegexOptions.Compiled | RegexOptions.IgnoreCase); + var advancedSeasonRegex = new Regex(@"\b(?:(?\d+)(?:st|nd|rd|th) Season|Season (?\d+))\b", RegexOptions.Compiled | RegexOptions.IgnoreCase); var seasonCharactersRegex = new Regex(@"(I{2,})$", RegexOptions.Compiled); - var seasonNumberRegex = new Regex(@"\b(?:S)?([2-9])$", RegexOptions.Compiled); + var seasonNumberRegex = new Regex(@"\b(?[2-9])$", RegexOptions.Compiled); foreach (var title in titles) { var advancedSeasonRegexMatch = advancedSeasonRegex.Match(title); if (advancedSeasonRegexMatch.Success) { - return ParseUtil.CoerceInt(advancedSeasonRegexMatch.Groups[1].Value); + return ParseUtil.CoerceInt(advancedSeasonRegexMatch.Groups["season"].Value); } var seasonCharactersRegexMatch = seasonCharactersRegex.Match(title); @@ -665,7 +665,7 @@ namespace NzbDrone.Core.Indexers.Definitions var seasonNumberRegexMatch = seasonNumberRegex.Match(title); if (seasonNumberRegexMatch.Success) { - return ParseUtil.CoerceInt(seasonNumberRegexMatch.Groups[1].Value); + return ParseUtil.CoerceInt(seasonNumberRegexMatch.Groups["season"].Value); } }