using System;
using System.Text.RegularExpressions;
public class Example
{
public static void Main()
{
string pattern = @"^
(?:OOO) # ""OOO""
(ABC|DEF) # ""ABC"" or ""DEF""
(RR|AA|DD|EE) # ""RR"" or ""AA"" or ""DD"" ior :""EE)
(
(?:AAA|BBC|CCC)(?=\d{3}\b) # ""AAA"" or ""BBB"" or ""CCC"" if followed by 3 digits
| # or
(?:ZZ|XX|YY)(?=\d{2}\b) # ""ZZ"" or ""XX"" or ""YY"" if followed by 2 digits
)
.* # anything up to the end
$";
string input = @"OOODEFDDAAA011
OOODEFDDZZ01
OOODEFDDZZ011
OOODEFDDZZ01 words at the end?";
RegexOptions options = RegexOptions.IgnorePatternWhitespace | 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