bool MatchCheck(string sn,string pattern) { return Regex.IsMatch(sn, pattern, RegexOptions.None); } /// <summary> /// 掩码转换为正则表达式 /// </summary> /// <param name="msk">掩码 CTH********F2GV**</param> /// <param name="token">掩码符号* #</param> /// <returns>regexp表达式</returns> public static string MaskToRegex(string msk,string token) { if (string.IsNullOrEmpty(msk) || string.IsNullOrEmpty(token)) return string.Empty; MatchCollection mac = Regex.Matches(msk, string.Format(@"\b(\w+)|([{0}]+)|\b",token)); string regex = string.Empty; foreach (Match x in mac) { if (!string.IsNullOrEmpty(x.Value)) { if (Regex.IsMatch(x.Value, @"\w+")) { regex += x.Value; } if (Regex.IsMatch(x.Value, string.Format(@"[{0}]+",token))) { string tempmsk = string.Format(@"\w{0}", "{" + x.Value.Length + "}"); regex += tempmsk; } } } string pattern = string.Format("^{0}$", regex); return pattern; }