using System;
using System.Text.RegularExpressions;
public class Example
{
public static void Main()
{
string pattern = @"(?<=^|;)"".*?""(?=;|$)|(?<=^|;)[^;]*(?=;|$)";
string input = @"Name;inst_type;Position;Currency;cftype;amount;tenor;fwterm;compoundtype;resetterm;histrates;sdate;edate;fwdate;callput;capfloor;strike;vola;volavalue;ulspot;ulspotvalue;divcurve;cleanflag;fixrate;compfr;dayc;refindex;spread;floatfactor;paystart;payend;annuity;amortizingtype;cgm;resrate;nextrate;isprorated;rolldate;rollday;islongstub;isarrear;payrule;paydays;paycal;resrule;resdays;rescal;isfixcoupon;spreadcurve;cds_spread_value;recovrate;payoutrate;payrec;creditspread;disc;""C""F""
Bond1;;1;EUR;2;100;6M;;;;;01.09.2007;01.09.2010;;;;;;;;;;;0,0625;1;1;;;;0;100;;;1;;;1;01.06.2008;;1;;;;;;;;;;;;;;;IR-EUR;""2;01062008;100;0;0.0625;;01092007;01062008"";""2;01122008;100;0;0.0625;;01062008;01122008"";""2;01062009;100;0;0.0625;;01122008;01062009"";""2;01122009;100;0;0.0625;;01062009;01122009"";""2;01092010;100;0;0.0625;;01122009;01092010"";""1;01092010;100"";
Bond2;;1;EUR;2;100;6M;;;;;01.09.2007;01.09.2010;;;;;;;;;;;0,0625;1;1;;;;0;100;;;-1;;;1;;;;;;;;;;;;;;;;;;IR-EUR;""2;01092010;100;0;0.0625;;01032010;01092010"";""2;01032010;100;0;0.0625;;01092009;01032010"";""2;01092009;100;0;0.0625;;01032009;01092009"";""2;01032009;100;0;0.0625;;01092008;01032009"";""2;01092008;100;0;0.0625;;01032008;01092008"";""2;01032008;100;0;0.0625;;01092007;01032008"";""1;01092010;100"";";
RegexOptions options = RegexOptions.Multiline;
foreach (Match m in Regex.Matches(input, pattern, options))
{
Console.WriteLine("'{0}' found at index {1}.", m.Value, m.Index);
}
}
}
Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for C#, please visit: https://msdn.microsoft.com/en-us/library/system.text.regularexpressions.regex(v=vs.110).aspx