掩码转换为正则表达式
2012-06-19 10:44 小sa 阅读(709) 评论(0) 收藏 举报1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 | 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; } |
【推荐】2025 HarmonyOS 鸿蒙创新赛正式启动,百万大奖等你挑战
【推荐】博客园的心动:当一群程序员决定开源共建一个真诚相亲平台
【推荐】开源 Linux 服务器运维管理面板 1Panel V2 版本正式发布
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步