C# 如何在Match.Regex中正确转义引号?

C# 如何在Match.Regex中正确转义引号?,c#,C#,试验台: 输入字符串:_sql:SELECT*FROM AA 正则表达式:?:_sql[\s]*[^,]* 所需结果:从AA中选择* 现在我进入c并将其编码: Match match = Regex.Match("_sql\": \"SELECT * FROM AA", @"(?:""_sql""[\s]*)([^,]*)"); if (match.Success) { String value = match.Groups[0].Value;

试验台:

输入字符串:_sql:SELECT*FROM AA 正则表达式:?:_sql[\s]*[^,]*

所需结果:从AA中选择*

现在我进入c并将其编码:

    Match match = Regex.Match("_sql\": \"SELECT * FROM AA", @"(?:""_sql""[\s]*)([^,]*)");
    if (match.Success)
    {
        String value = match.Groups[0].Value;
        Console.WriteLine(value);
    }

为什么match.Success为false?

您忘记在字符串周围加引号了

试一试-


您可以有一个单独的变量,并正确地转义它

string newVa = "\"_sql\": \"SELECT * FROM AA\"";
Match match = Regex.Match(newVa , @"(?:""_sql""[\s]*)([^,]*)");

string newVa = "\"_sql\": \"SELECT * FROM AA\"";
Match match = Regex.Match(newVa , @"(?:""_sql""[\s]*)([^,]*)");
Match match = Regex.Match(@"""_sql"": ""SELECT * FROM AA""", @"(?:""_sql""[\s]*)([^,]*)");