我试图在引用之间得到所有内容。引文之间的内容是文件位置。所以它就像“C:\ Users \ Documents and Settings \ Pictures \ mypic.bmp”我正在使用的正则表达式是:
"([""'])(?:(?=(\\?))\2.)*?\1"
它可以获取数字和字母,除非它以反斜杠分割它。有人可以帮助我,所以我可以匹配完整的字符串吗?
提前致谢。
答案 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