c# - 如何从 SQL 查询中提取参数名称
问题描述
我有一个 SQL 查询
select * from table where field1 = :param1 and field2 = :param2
我想从此字符串中获取参数名称。例如:[param1, param2]
如何使用 c# 语言做到这一点?
解决方案
您可以为此目的使用正则表达式。例如,
[:?@](?<Parameter>[\S]+)
上面的正则表达式将有助于检索参数名称。该表达式转换为以 (:?@) 开头的单词,后跟非空白单词 (\S)。
完整代码
var regex = new Regex(@"[:?@](?<Parameter>[\S]+)");
var str = "select * from table where field1 = @param1 and field2 = :param2";
var matchCollection = regex.Matches(str);
var result = matchCollection.Cast<Match>().Select(x => x.Groups["Parameter"].Value);
推荐阅读
- html - 使用 bootstrap 4.3.1,为什么我的列不能在列表组中工作?
- r - R 闪亮 - insertUI() 的“立即”参数不适用于图像
- r - 了解 R 中的时间序列图和 ggplot2
- html - Angular 材质 MatDefs 出现运行时错误
- node.js - 从 .js 文件执行 sequelize-cli
- php - 无法提交表格 - 请检查一下吗?
- pyspark - 调用 df.show() 函数时出现“引发 EOFError”
- javascript - 如何在提交之前更改 FormData?
- javascript - ( panzoom )如何阻止图像平移出视图?
- python - 按日期查找值并将它们相加