using System.Text.RegularExpressions;
namespace FastGithub
{
    /// 
    /// 域名匹配
    /// 
    public class DomainMatch
    {
        private readonly Regex regex;
        private readonly string domainPattern;
        /// 
        /// 域名匹配
        /// 
        /// 域名表达式
        public DomainMatch(string domainPattern)
        {
            this.domainPattern = domainPattern;
            var regexPattern = Regex.Escape(domainPattern).Replace(@"\*", ".*");
            this.regex = new Regex($"^{regexPattern}$", RegexOptions.IgnoreCase);
        }
        /// 
        /// 是否与指定域名匹配
        /// 
        /// 
        /// 
        public bool IsMatch(string domain)
        {
            return this.regex.IsMatch(domain);
        }
        /// 
        /// 转换为文本
        /// 
        /// 
        public override string ToString()
        {
            return this.domainPattern;
        }
    }
}