using System;
using System.Text.RegularExpressions;
public class Example
{
public static void Main()
{
string pattern = @"^(([a-zA-Z]{2}-?\d{2}-?\d{2})|(\d{2}-?\d{2}-?[a-zA-Z]{2})|(\d{2}-?[a-zA-Z]{2}-?\d{2})|([a-zA-Z]{2}-?\d{2}-?[a-zA-Z]{2})|([a-zA-Z]{2}-?[a-zA-Z]{2}-?\d{2})|(\d{2}-?[a-zA-Z]{2}-?[a-zA-Z]{2})|(\d{2}-?[a-zA-Z]{3}-?\d{1})|(\d{1}-?[a-zA-Z]{3}-?\d{2})|([a-zA-Z]{2}-?\d{3}-?[a-zA-Z]{1})|([a-zA-Z]{1}-?\d{3}-?[a-zA-Z]{2})|([a-zA-Z]{3}-?\d{2}-?[a-zA-Z]{1})|([a-zA-Z]{1}-?\d{2}-?[a-zA-Z]{3})|(\d{1}-?[a-zA-Z]{2}-?\d{3})|(\d{3}-?[a-zA-Z]{2}-?\d{1}))$";
string input = @"xx-99-99
99-99-xx
99-xx-99
xx-99-xx
xx-xx-99
99-xx-xx
99-xxx-9
9-xxx-99
xx-999-x
x-999-xx
xxx-99-x
x-99-xxx
9-xx-999
999-xx-9";
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