c#regex捕获2个双引号之间的所有内容,包括转义双引号

c#regex捕获2个双引号之间的所有内容,包括转义双引号,c#,regex,regex-group,.net-standard-2.0,C#,Regex,Regex Group,.net Standard 2.0,我在用C#编写正则表达式时遇到了麻烦,它基本上捕获了两个双引号之间的所有内容。如果该组包含转义的双引号,它们也将被捕获。在阅读了RegexWiki之后,我仍然无法编写一个完全胜任这项工作的wiki 不同匹配之间存在昏迷字符 以下字符串: "first \"value\\\\", "second, value", "third value" 需要提供以下匹配项: 第一个\“值\\\\ 第二,价值 第三值 谢谢你的帮助!这个正则表达式应该可以解决你的问题- str = Regex.Repla

我在用C#编写正则表达式时遇到了麻烦,它基本上捕获了两个双引号之间的所有内容。如果该组包含转义的双引号,它们也将被捕获。在阅读了RegexWiki之后,我仍然无法编写一个完全胜任这项工作的wiki

不同匹配之间存在昏迷字符

以下字符串:

 "first \"value\\\\", "second, value", "third value"
需要提供以下匹配项:

  • 第一个\“值\\\\
  • 第二,价值
  • 第三值

谢谢你的帮助!

这个
正则表达式应该可以解决你的问题-

str = Regex.Replace(str, @"(""[^""\\]*(?:\\.[^""\\]*)*"")|", "$1");

这个
regex
应该可以解决您的问题-

str = Regex.Replace(str, @"(""[^""\\]*(?:\\.[^""\\]*)*"")|", "$1");

这看起来像CSV数据,有一百万个库和包可以处理它。有什么原因不能使用其中的一个库吗?看起来您正在使用CSV(逗号分隔的值)格式;如果是您的情况,请查看Microsoft.VisualBasic.FileIO.TextFieldParser
See的可能副本-这就是您需要的吗?原始字符串比这复杂一点,但我已将其提取到示例中。此外,我针对多个框架,并认为使用正则表达式可能更容易。这看起来与CSV数据一样,有一百万个库和程序包可以处理此问题。您不能使用其中一个库的原因是什么?您似乎正在使用CSV(逗号分隔的值)格式;如果是您的情况,请查看Microsoft.VisualBasic.FileIO.TextFieldParserSee的可能副本-这就是您需要的吗?原始字符串比这复杂一点,但我已将其提取到示例中。此外,我针对多个框架,并认为使用正则表达式可能更容易。这是ind我需要解决我的问题。谢谢你的帮助。我将分析正则表达式以了解它在做什么这确实解决了我的问题。谢谢你的帮助。我将分析正则表达式以了解它在做什么