我是正则表达式的新手,我所做的阅读并没有让我走得足够远。我要做的是从 SQL 查询中提取行计数输出。例如,如果下面的任何一个示例作为输出出现,我想捕获 '(' 左侧的值,因此是 '0'、'92' 或任何其他数字。
任何正则表达式专家都可以帮助我吗?
将捕获的输出来自从命令行运行 .sql 文件:
将数据库上下文更改为“mydb”。------------ 0(1行受影响)
将数据库上下文更改为“mydb”。----------- 92(1 行受影响)
这是部分工作的代码 - 它使用可以修剪的前导空格来获取行数......只是不知道这是否是最好的代码。
Process execQuery = new Process();
string output = "";
string argumentsToPass = "-S myhost -d mydb -i + sqlFileToExecute;
execQuery.StartInfo.UseShellExecute = false;
execQuery.StartInfo.RedirectStandardOutput = true;
execQuery.StartInfo.FileName = "sqlcmd";
execQuery.StartInfo.Arguments = argumentsToPass;
execQuery.Start();
execQuery.WaitForExit();
output = execQuery.StandardOutput.ReadToEnd();
Match match = Regex.Match(output, @"\s+\d+");