【问题标题】:How to extract parameters names from SQL statement using regular expression如何使用正则表达式从 SQL 语句中提取参数名称
【发布时间】:2010-07-04 23:00:03
【问题描述】:

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

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

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

它给了我两次:param1

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

任何帮助!!

谢谢

【问题讨论】:

  • 什么语言正在运行正则表达式:Perl、Java 等。这可能会稍微改变语法。

标签: c# .net regex


【解决方案1】:

我尝试了这段 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();
}

【讨论】:

  • 谢谢 marc_s,我在 C# 获取代码时遇到了问题,我使用 Groups 集合按组名获取匹配项,现在可以了。
猜你喜欢
  • 2012-04-30
  • 1970-01-01
  • 2022-09-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-07-20
相关资源
最近更新 更多