using System;
using System.Text.RegularExpressions;
public class Example
{
public static void Main()
{
string pattern = @"(\d{4}(-\d{2}-\d{2}|\d{2}\d{2}))(T\d{2}(:?\d{2}){1,2}(\.\d{1,3})?(([+-]\d{2}(:?\d{2})?)|Z)?)?";
string input = @"2001-01-20
20010120
2001-0120
2001-01-20T01:20
2001-01-20T01:20:30
2001-01-20T01:20:30Z
2001-01-20T01:20:30+0500
2001-01-20T01:20:30.000Z
2001-01-20T01:20:30+00:50
2001-01-20T01:20:30-00:50
20010120T0120
2001-01-20T012030Z
2001-01-20T0120+0500
2001-01-20T01:20:30.000Z
2001-01-20T01:20:30+00:50
2001-01-20T01:20:30-00:50";
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