C# 用于在引号内和引号外断开字符串的正则表达式

C# 用于在引号内和引号外断开字符串的正则表达式,c#,regex,split,C#,Regex,Split,我必须使用正则表达式将字符串拆分为引号“”周围的部分,我可以使用类似 // Split the string c using " as a delimiter string [] pieces = c.split('"'); 但是它会打断引号周围的字符串,并且不会告诉我哪个部分在引号中,哪个部分在引号之外,我需要知道这一点,因为我分别处理这两个部分。我需要一些类似Regex.Match和Regex.Split的组合 多谢各位 Sid再次使用正常*特殊正常**模式进行救援 使用[

我必须使用正则表达式将字符串拆分为引号“”周围的部分,我可以使用类似

// Split the string c using " as a delimiter        
string [] pieces = c.split('"');
但是它会打断引号周围的字符串,并且不会告诉我哪个部分在引号中,哪个部分在引号之外,我需要知道这一点,因为我分别处理这两个部分。我需要一些类似Regex.Match和Regex.Split的组合

多谢各位

Sid

再次使用正常*特殊正常**模式进行救援

使用[^]*?:\\[^]**循环输入并捕获第一组

正常:[^] 特别:\\ 它甚至会使用双引号,比如a\b,甚至\,甚至是一个空字符串


注意?:。。。是非捕获组

请提供一些示例输入和所需输出。我认为您的意思是[^\]*?:\\.[^\]**。作为一个C逐字字符串,它应该是@[^\\]*?:\\.[^\\]**。但这仅用于匹配字符串文字;显然,这只是OP想要做的一部分。