using System;
using System.Text.RegularExpressions;
public class Example
{
public static void Main()
{
string pattern = @"\bfield\b\(.*\)\s*\n*\{[^\}]*\s+FieldClass = FlowField;[^\}]*\}
";
string input = @"table 9070 ""Accounting Services Cue""
{
Caption = 'Accounting Services Cue';
fields
{
field(1; ""Primary Key""; Code[10])
{
Caption = 'Primary Key';
}
field(2; ""Requests to Approve""; Integer)
{
CalcFormula = Count (""Approval Entry"" WHERE (Status = CONST (Open),
""Approver ID"" = CONST ('USERID')));
Caption = 'Requests to Approve';
Editable = false;
FieldClass = FlowField;
}
field(4; ""Ongoing Sales Invoices""; Integer)
{
CalcFormula = Count (""Sales Header"" WHERE (""Document Type"" = FILTER (Invoice)));
Caption = 'Ongoing Sales Invoices';
FieldClass = FlowField;
}
field(5; ""My Incoming Documents""; Integer)
{
CalcFormula = Count (""Incoming Document"");
Caption = 'My Incoming Documents';
FieldClass = FlowField;
}
field(20; ""User ID Filter""; Code[50])
{
Caption = 'User ID Filter';
FieldClass = FlowFilter;
}
}
keys
{
key(Key1; ""Primary Key"")
{
Clustered = true;
}
}
fieldgroups
{
}
}
";
RegexOptions options = RegexOptions.Multiline | RegexOptions.IgnoreCase;
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