如何使用正则表达式从SQL语句中提取参数名称

时间:2010-07-04 14:25:24

标签: c# .net regex

我想从这样的查询中提取参数名称:

select * from table where a = :param1 and b = :param2

我写了这个表达式:"(?<param>:\w* )"

它给了我:param1两次

注意:它位于C#.Net应用程序中。

任何帮助!!

由于

1 个答案:

答案 0 :(得分:3)

我尝试了这个C#代码 - 它会抓取两个匹配项,一个用于:param1,另一个用于:param2

Regex getParamRegex = new Regex(@"(?<param>:\w*)", RegexOptions.Compiled | RegexOptions.IgnoreCase);

string input = "select * from table where a = :param1 and b = :param2";

var allMatches = getParamRegex.Matches(input);

foreach (var match in allMatches)
{
   string work = match.ToString();
}