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;
}
}
}