c# – 我会使用什么代码将SQL表达式转换为正则表达式?
发布时间:2020-12-15 07:57:53 所属栏目:百科 来源:网络整理
导读:我正在寻找将类似SQL的语句转换为等效的正则表达式,即 LIKE '%this%'LIKE 'Sm_th'LIKE '[C-P]arsen' 这样做的最佳方法是什么? 附:我希望在.Net Framework(C#)上执行此操作. 解决方法 以下正则表达式在 MatchEvaluator 委托的帮助下将类似SQL的模式转换为正
我正在寻找将类似SQL的语句转换为等效的正则表达式,即
LIKE '%this%' LIKE 'Sm_th' LIKE '[C-P]arsen' 这样做的最佳方法是什么? 附:我希望在.Net Framework(C#)上执行此操作. 解决方法
以下正则表达式在
MatchEvaluator 委托的帮助下将类似SQL的模式转换为正则表达式模式.它正确处理方括号块并转义特殊的正则表达式字符.
string regexPattern = Regex.Replace( likePattern,@"[%_]|[[^]]*]|[^%_[]+",match => { if (match.Value == "%") { return ".*"; } if (match.Value == "_") { return "."; } if (match.Value.StartsWith("[") && match.Value.EndsWith("]")) { return match.Value; } return Regex.Escape(match.Value); }); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容