using System;
using System.Text.RegularExpressions;
public class Example
{
public static void Main()
{
string pattern = @"(?i)(data)\s+((\w+)(?=(\s*))(?:\4\w+)+)?\s*(\(((.|\n)*?)\);)?";
string input = @"data foo (drop = DISCOUNT price RENAME = ( PROV_NM1= PROV_NM PROV_ST_NM1 = PROV_ST_NM) where = ( product = 'whizmo' and product < 10 )) bar( drop= DISCOUNT price rename= ( startDate = beginDate ) );
Data Data_asof&YrMon.;
data halfYear( drop= DISCOUNT price
rename= ( startDate = beginDate ) where=(product = 'abc' and price > 10) );
data apply_adj_v2 non_adjusted incorrect_acct;
data apply_adj_v2;
DATA INPDTL1(RENAME=(PROV_NM1=PROV_NM PROV_ST_NM1=PROV_ST_NM));
DATA REIMB_MTHD_CLM2;
";
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