using System;
using System.Text.RegularExpressions;
public class Example
{
public static void Main()
{
string pattern = @"(ADJ (COMMA ADJ )*)*(NOUN (DASH NOUN )*(DASH )?)*NOUN";
string input = @"STOP VERB NOUN NOUN DASH NOUN PUNCT
STOP VERB STOP ADJ ADJ NOUN STOP STOP ADJ NOUN COMMA NOUN PUNCT
STOP VERB STOP ADJ COMMA ADJ NOUN PUNCT
STOP STOP ADJ DASH ADJ NOUN PUNCT
STOP STOP STOP ADJ NOUN NOUN STOP STOP PUNCT";
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