public static bool DoesWildcardMatch(string originalString, string searchString)
{
if (!searchString.StartsWith("*"))
{
int stop = searchString.IndexOf('*');
if (!originalString.StartsWith(searchString.Substring(0, stop)))
return false;
}
if (!searchString.EndsWith("*"))
{
int start = searchString.LastIndexOf('*') + 1;
if (!originalString.EndsWith(searchString.Substring(start, searchString.Length - start)))
return false;
}
Regex regex = new Regex(searchString.Replace(@".", @"\.").Replace(@"*", @".*"));
return regex.IsMatch(originalString);
}