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