/// <summary>
        /// Determines whether the specified value is a match.
        /// </summary>
        /// <param name="value">The value to match.</param>
        /// <returns>
        ///   <c>true</c> if the specified value is a match; otherwise, <c>false</c>.
        /// </returns>
        public bool IsMatch(string value)
        {
            if (Exact.HasValue())
            {
                return(string.Equals(value, Exact));
            }

            if (Expression.HasValue())
            {
                return(Regex.IsMatch(value, Expression));
            }

            return(false);
        }