如何使用正则表达式提取带引号的字符串?或者如何在c#中使用这个特定的正则表达式(“[^”] * \ .csv“)?

时间:2011-10-05 11:00:25

标签: c# regex parsing

我正在尝试从html响应中提取引用的文本。但是,当我使用正则表达式匹配数据时,我收到错误消息“无法识别的转义序列”。 代码粘贴在下面。我错过了一些基本的东西吗?


    static private string ParseText2GetLink(string response)
    {
        Match match = Regex.Match( response, @"("[^"]*\.csv")" );

        string key = null;
        // Here we check the Match instance.
        if (match.Success)
        {
            // Finally, we get the Group value and display it.
            key = match.Groups[1].Value;
            Console.WriteLine(key);
        }
        return key;
    }

2 个答案:

答案 0 :(得分:6)

要在@""字符串中加入双引号,您必须加倍:

@"(""[^""]*\.csv"")"

或者您可以使用普通字符串:

"(\"[^\"]*\\.csv\")"

(注意,现在你必须转义反斜杠。)

答案 1 :(得分:2)

你的问题是字符串中的\是一个转义序列。你必须逃脱\所以它变成

("[^"]*\\.csv")