使用 C# 正则表达式获取两个单词之间的字符串

Kav*_*a M 3 c# regex

我想获取两个字符串之间的文本。为此,我尝试了下面的代码。

string q = "SELECT \"NORTHWIND\".\"CUSTOMER_DETAILS_NORTHWIND\".\"CUSTOMER_ID\" FROM \"NORTHWIND\".\"CUSTOMER_DETAILS_NORTHWIND\"";
        Regex regex = new Regex("SELECT(.*)FROM");
var result = regex.Match(q).Value;
Run Code Online (Sandbox Code Playgroud)

输出:选择\“NORTHWIND \”。\“CUSTOMER_DETAILS_NORTHWIND \”。\“CUSTOMER_ID \”FROM

但我期望没有 SELECT 和 FROM 关键字的结果。

预期输出: \“NORTHWIND \”。\“CUSTOMER_DETAILS_NORTHWIND \”。\“CUSTOMER_ID \”

谁能建议我如何实现这一目标?

Joh*_*nyL 6

var match = Regex.Match(s, @"(?i)SELECT\s+(.+?)\s+FROM");
if (match.Success)  {
    Console.WriteLine(match.Groups[1].Value);
}
Run Code Online (Sandbox Code Playgroud)