using System;
using System.Text.RegularExpressions;
public class Example
{
public static void Main()
{
string pattern = @"(?<=;)""([^""]*)""(?=;)|([^;]+);?|;";
string input = @"11221;""9 Test with ; semicolon"";TST03;6011
48350;;;1919
48350;10 Test Reference *;;
23001;""Hello "" Hello"";""1234"";4506
23001;Hello; "" Hello"";""1234"";4506
BCNR_HEADQUARTERS_BANK;MERCHANT_NAME;MERCHANT_ID;MCC
80000;1 Fix Merchant Name;;
80000;2 *GUIMY0801C;300293199;
23000;3 * Merchant Name;;6011
23000;4Fix Merchant*;;6010
80000;5 MY1901000C\**;45;6011
80000;6 Test Reference DY0800011C;300293199;
77800;7 Multiple ""quotation"" ""marks;TST01;
78700;8 Special chars /*-+`?=)(/&%ç*""+;TST02;6010
BCNR_HEADQUARTERS_BANK;MERCHANT_NAME;MERCHANT_ID;MCC
80000;1 Fix Merchant Name;;
80000;2 *GUIMY0801C;300293199;
23000;3 * Merchant Name;;6011
23000;4 Fix Merchant*;;6010
80000;5 MY1901000C\**;45;6011
80000;6 Test Reference DY0800011C;300293199;
77800;7 Multiple ""quotation"" ""marks;6543;
78700;8 Special chars /*-+`?=)(/&%ç*""+;9999;6010
11221;""9 Test with ; semicolon"";9999;6011
48350;10 Test Reference *;;
23001;""11 Escape char "" which must not be interpreted"";""MERID"";4506
-- https://regex101.com/r/5b2Lsx/1
-- https://regex101.com/r/MnZLSH/1";
RegexOptions options = RegexOptions.Singleline;
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