diff --git a/src/NzbDrone.Core/Indexers/Definitions/AnimeBytes.cs b/src/NzbDrone.Core/Indexers/Definitions/AnimeBytes.cs index 6229012ed..8a22b6005 100644 --- a/src/NzbDrone.Core/Indexers/Definitions/AnimeBytes.cs +++ b/src/NzbDrone.Core/Indexers/Definitions/AnimeBytes.cs @@ -141,7 +141,7 @@ private IEnumerable GetRequest(SearchCriteriaBase searchCriteria var searchUrl = $"{_settings.BaseUrl.TrimEnd('/')}/scrape.php"; var term = searchCriteria.SanitizedSearchTerm.Trim(); - var searchTerm = StripEpisodeNumber(term); + var searchTerm = CleanSearchTerm(term); var parameters = new NameValueCollection { @@ -188,12 +188,14 @@ private IEnumerable GetRequest(SearchCriteriaBase searchCriteria yield return request; } - private static string StripEpisodeNumber(string term) + private static string CleanSearchTerm(string term) { // Tracer does not support searching with episode number so strip it if we have one - term = Regex.Replace(term, @"\W(\dx)?\d?\d$", string.Empty); - term = Regex.Replace(term, @"\W(S\d\d?E)?\d?\d$", string.Empty); - term = Regex.Replace(term, @"\W\d+$", string.Empty); + term = Regex.Replace(term, @"\W(\dx)?\d?\d$", string.Empty, RegexOptions.Compiled); + term = Regex.Replace(term, @"\W(S\d\d?E)?\d?\d$", string.Empty, RegexOptions.Compiled); + term = Regex.Replace(term, @"\W\d+$", string.Empty, RegexOptions.Compiled); + + term = Regex.Replace(term.Trim(), @"\bThe Movie$", string.Empty, RegexOptions.Compiled | RegexOptions.IgnoreCase); return term.Trim(); }