using System;
using System.Text.RegularExpressions;
public class Test
{
public static void Main()
{
string text = @"John, Doe, ""Sid, Nency"", Smith";
string[] pieces1 = Regex.Split(text, @",(?=([^""]*""[^""]*"")*[^""]*$)");
string[] pieces2 = Regex.Split(text, @",(?=(?:[^""]*""[^""]*"")*[^""]*$)");
Console.WriteLine("First:");
foreach (string piece in pieces1)
{
Console.WriteLine(piece);
}
Console.WriteLine("Second:");
foreach (string piece in pieces2)
{
Console.WriteLine(piece);
}
}
}
dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uVGV4dC5SZWd1bGFyRXhwcmVzc2lvbnM7CnB1YmxpYyBjbGFzcyBUZXN0CnsKICAgIHB1YmxpYyBzdGF0aWMgdm9pZCBNYWluKCkKICAgIHsgICAKICAgICAgICBzdHJpbmcgdGV4dCA9IEAiSm9obiwgRG9lLCAiIlNpZCwgTmVuY3kiIiwgU21pdGgiOwogICAgICAgIHN0cmluZ1tdIHBpZWNlczEgPSBSZWdleC5TcGxpdCh0ZXh0LCBAIiwoPz0oW14iIl0qIiJbXiIiXSoiIikqW14iIl0qJCkiKTsKICAgICAgICBzdHJpbmdbXSBwaWVjZXMyID0gUmVnZXguU3BsaXQodGV4dCwgQCIsKD89KD86W14iIl0qIiJbXiIiXSoiIikqW14iIl0qJCkiKTsKICAgICAgICBDb25zb2xlLldyaXRlTGluZSgiRmlyc3Q6Iik7CiAgICAgICAgZm9yZWFjaCAoc3RyaW5nIHBpZWNlIGluIHBpZWNlczEpCiAgICAgICAgewogICAgICAgICAgICBDb25zb2xlLldyaXRlTGluZShwaWVjZSk7CiAgICAgICAgfQogICAgICAgIENvbnNvbGUuV3JpdGVMaW5lKCJTZWNvbmQ6Iik7CiAgICAgICAgZm9yZWFjaCAoc3RyaW5nIHBpZWNlIGluIHBpZWNlczIpCiAgICAgICAgewogICAgICAgICAgICBDb25zb2xlLldyaXRlTGluZShwaWVjZSk7CiAgICAgICAgfQogICAgfQp9