@ -8,7 +8,6 @@ using System.Text.RegularExpressions;
using NLog ;
using NzbDrone.Common.Extensions ;
using NzbDrone.Common.Instrumentation ;
using NzbDrone.Core.Languages ;
using NzbDrone.Core.Parser.Model ;
using NzbDrone.Core.Tv ;
@ -30,13 +29,13 @@ namespace NzbDrone.Core.Parser
new RegexReplace ( @"^\[(?<subgroup>[^\]]*?(?:LoliHouse|ZERO|Lilith-Raws)[^\]]*?)\](?<title>[^\[\]]+?)(?: - (?<episode>[0-9-]+)\s*|\[第?(?<episode>[0-9]+(?:-[0-9]+)?)话?(?:END|完)?\])\[" , "[${subgroup}][${title}][${episode}][" , RegexOptions . Compiled ) ,
// Most Chinese anime releases contain additional brackets/separators for chinese and non-chinese titles, remove junk and replace with normal anime pattern
new RegexReplace ( @"^\[(?<subgroup>[^\]]+)\](?:\s?★[^\[ -]+\s?)?\[?(?:(?<chinesetitle> [^\]]*?[\u4E00-\u9FCC][^\]]*?)(?:\]\[|\s*[_/·]\s*))?(?<title>[^\]]+?)\]?(?:\[\d{4}\])?\[第?(?<episode>[0-9]+(?:-[0-9]+)?)(?:话|集)?(?:END|完)?\]", "[${subgroup}] ${title} - ${episode} " , RegexOptions . Compiled ) ,
new RegexReplace ( @"^\[(?<subgroup>[^\]]+)\](?:\s?★[^\[ -]+\s?)?\[?(?:(?<chinesetitle> (?= [^\]]*?[\u4E00-\u9FCC]) [^\]]*?)(?:\]\[|\s*[_/·]\s*))?(?<title>[^\]]+?)\]?(?:\[\d{4}\])?\[第?(?<episode>[0-9]+(?:-[0-9]+)?)(?:话|集)?(?:END|完)?\]", "[${subgroup}] ${title} - ${episode} " , RegexOptions . Compiled ) ,
// Some Chinese anime releases contain both Chinese and English titles, remove the Chinese title and replace with normal anime pattern
new RegexReplace ( @"^\[(?<subgroup>[^\]]+)\](?:\s)(?:(?<chinesetitle> [^\]]*?[\u4E00-\u9FCC][^\]]*?)(?:\s/\s))(?<title>[^\]]+?)(?:[- ]+)(?<episode>[0-9]+(?:-[0-9]+)?)话?(?:END|完)?", "[${subgroup}] ${title} - ${episode} " , RegexOptions . Compiled ) ,
new RegexReplace ( @"^\[(?<subgroup>[^\]]+)\](?:\s)(?:(?<chinesetitle> (?= [^\]]*?[\u4E00-\u9FCC]) [^\]]*?)(?:\s/\s))(?<title>[^\]]+?)(?:[- ]+)(?<episode>[0-9]+(?:-[0-9]+)?)话?(?:END|完)?", "[${subgroup}] ${title} - ${episode} " , RegexOptions . Compiled ) ,
// GM-Team releases with lots of square brackets
new RegexReplace ( @"^\[(?<subgroup>[^\]]+)\](?:\[(?<chinesubgroup> [^\]]*?[\u4E00-\u9FCC][^\]]*?)\])(?:\[(?<chinesetitle>[^\]]*?[\u4E00-\u9FCC][^\]]*?)\])\[(?<title>[^\]]+?)\]\[(?<junk>[^\]]+?)\]\[(?<year>[^\]]+?)\]\[(?<episode>[0-9]+(?:-[0-9]+)?)\]", "[${subgroup}] ${title} - ${episode} " , RegexOptions . Compiled )
new RegexReplace ( @"^\[(?<subgroup>[^\]]+)\](?:\[(?<chinesubgroup> (?= [^\]]*?[\u4E00-\u9FCC]) [^\]]*?)\])(?:\[(?<chinesetitle>(?= [^\]]*?[\u4E00-\u9FCC]) [^\]]*?)\])\[(?<title>[^\]]+?)\]\[(?<junk>[^\]]+?)\]\[(?<year>[^\]]+?)\]\[(?<episode>[0-9]+(?:-[0-9]+)?)\]", "[${subgroup}] ${title} - ${episode} " , RegexOptions . Compiled )
} ;
private static readonly Regex [ ] ReportTitleRegex = new [ ]