有人可以用我的正则表达式帮助我吗?

时间:2013-01-02 03:26:15

标签: c# .net regex

我试图在引用之间得到所有内容。引文之间的内容是文件位置。所以它就像“C:\ Users \ Documents and Settings \ Pictures \ mypic.bmp”我正在使用的正则表达式是:

   "([""'])(?:(?=(\\?))\2.)*?\1"

它可以获取数字和字母,除非它以反斜杠分割它。有人可以帮助我,所以我可以匹配完整的字符串吗?

提前致谢。

2 个答案:

答案 0 :(得分:3)

我会选择:

@"""\s*(.*?)\s*"""

我用来测试它的示例代码:

    protected void btnSubmit_Click(object sender, EventArgs e)
    {
        Match match = Regex.Match(txtString.Text, @"""\s*(.*?)\s*""",
            RegexOptions.IgnoreCase);

        if (match.Success)
        {
            string key = match.Groups[1].Value;
            lblFinal.Text = key;
        }
    }

我们可以修正我的反对票吗? ;)

答案 1 :(得分:2)

您可以使用以下正则表达式(在C#字符串文字中引用):

string regexPattern = "\\\"(.+?)\\\"";

string regexPattern = @"\""(.+?)\""";

没有C#文字转义

\"(.+?)\"

这样匹配的组就是引号

中的字符串

如果在http://derekslager.com/blog/posts/2007/09/a-better-dotnet-regular-expression-tester.ashx进行测试

来源

"C:\Users\Documents and Settings\Pictures\mypic.bmp"

模式

\"(.+?)\"

结果

C:\Users\Documents and Settings\Pictures\mypic.bmp