想写一个正则表达式,去验证一个sql脚本文件中的delete 语句中必须有where条件,试写了几个,验证的都不够全面,该如何写呢,哪位高手能帮个忙,不胜感激!例如:select * from test delete from test update table set id =0 where name=123,这条sql语句包含了delete 但是没有where语句!
...全文
916打赏收藏
如何写这样的正则表达式,高手帮忙,不胜感激!
想写一个正则表达式,去验证一个sql脚本文件中的delete 语句中必须有where条件,试写了几个,验证的都不够全面,该如何写呢,哪位高手能帮个忙,不胜感激!例如:select * from test delete from test update table set id =0 where name=123,这条sql语句包含了delete 但是没有where语句!
string s = "select * from test delete from test update table set id =0 where name=123";
bool result = Regex.IsMatch(s, @"(?is)delete\s+from\s+\w+\s+where");
Respon……
[/Quote]
很感谢 dalmeeme
这个正则表达式好像把update的where条件,当做delete的where条件验证了。要是能在where之前排除select、update和insert就基本上完美了!
string s = "select * from test delete from test update table set id =0 where name=123";
bool result = Regex.IsMatch(s, @"(?is)delete\s+from\s+\w+\s+where");
Response.Write(result);