What you described here is a textbook example of a strategy pattern. You define an interface for validation, implement as many different implementations as you need, and then instantiate the implementation you need based on what you decide is needed.
 
You could do something like this:

    public interface IValidationStrategy
    {
        public bool Validate(string pStringToValidate);
    }

    public class RegexValidator : IValidationStrategy
    {
        private Regex regEx;

        public RegexValidator(Regex pRegEx)
        {
            regEx = pRegEx;
        }

        public bool Validate(string pStringToValidate)
        {
            return regEx.IsMatch(pStringToValidate);
        }
    }


    public class WildCardValidator : IValidationStrategy
    {
        private string wildCard;

        public WildCardValidator(string pWildCard)
        {
            wildCard = pWildCard;
        }

        public bool Validate(string pStringToValidate)
        {
            bool isValid = true;

            //Some code for validation here

            return isValid;
        }
    }


    public class StringValidator
    {
        private IValidationStrategy validationStrategy;

        public StringValidator (Regex pRegex)
        {
            validationStrategy = new RegexValidator(pRegex);
        }

        public StringValidator(string pWildCard)
        {
            validationStrategy = new WildCardValidator(pWildCard);
        }

        public bool Validate(string pStringToValidate)
        {
            return validationStrategy.Validate(pStringToValidate);
        }
    }


    public class Program
    {
        public static void Main(string[] args)
        {
            Regex regex = new Regex(@"\d+");
            StringValidator regValidator = new StringValidator(regex);
            bool isValid = regValidator.Validate("55");
            Console.Out.WriteLine("IsValid: {0}", isValid);

            string wildCard = "*";
            StringValidator wildCardValidator = new StringValidator(wildCard);
            isValid = wildCardValidator.Validate("Whatever string to be validated");
            Console.Out.WriteLine("IsValid: {0}", isValid);
        }
    }