using System.Text.RegularExpressions; namespace FastGithub { /// /// 域名匹配 /// sealed 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; } } }