| 123456789101112131415161718192021222324252627282930313233343536373839 | using System;using System.Text.RegularExpressions;namespace MediaBrowser.Controller.Providers{    public static class NameParser    {        static readonly Regex[] NameMatches = new[] {            new Regex(@"(?<name>.*)\((?<year>\d{4})\)"), // matches "My Movie (2001)" and gives us the name and the year            new Regex(@"(?<name>.*)(\.(?<year>\d{4})(\.|$)).*$"),             new Regex(@"(?<name>.*)") // last resort matches the whole string as the name        };        /// <summary>        /// Parses the name.        /// </summary>        /// <param name="name">The name.</param>        /// <param name="justName">Name of the just.</param>        /// <param name="year">The year.</param>        public static void ParseName(string name, out string justName, out int? year)        {            justName = null;            year = null;            foreach (var re in NameMatches)            {                Match m = re.Match(name);                if (m.Success)                {                    justName = m.Groups["name"].Value.Trim();                    string y = m.Groups["year"] != null ? m.Groups["year"].Value : null;                    int temp;                    year = Int32.TryParse(y, out temp) ? temp : (int?)null;                    break;                }            }        }    }}
 |