现在是有一段sql脚本
string sql = @"
SELECT
*
FROM
Person
WHERE
FirstName = @FirstName
";
我想写一段程序,把里面的参数全部找出来,该如何找?
就是说把@之后的提取出来,当然参数位置可能不定,有可能参数后面是逗号,空格,回车等
string sql = @"
SELECT
*
FROM
Person
WHERE
FirstName = @FirstName
";
我想写一段程序,把里面的参数全部找出来,该如何找?
就是说把@之后的提取出来,当然参数位置可能不定,有可能参数后面是逗号,空格,回车等
分析规则需求
设计匹配模式simple: @\w+
string sql = @"
SELECT
*
FROM
Person
WHERE
FirstName = @FirstName and SecondName=@SecondName
";
string pattern = @"@\w+\b";
List<string> prms = new List<string>(); Regex reg = new Regex(pattern);
Match m = reg.Match(sql);
while (m.Success)
{
prms.Add(m.Value);
m = m.NextMatch();
}