using System.Text.RegularExpressions;
public static void Main()
string pattern = @"^\p{L}*[\.|-|\/|\\|\s|\,]*(?<day>0[1-9]|[12][0-9]|3[01])+(st|nd|rd|th)?(\.|-|\/|\\|\s|\,)+(?<month>January|February|March|April|May|June|July|August|September|October|November|December|Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)(\.|-|\/|\\|\s|\,)+(?<year>\d{4}|\d{2})\b";
string input = @"Wednesday, 19-Apr-23 16:25:39 UTC-test4
Wednesday, 19-Apr-23 16:25:39 UTC-test4
Wed, 19 Apr 2023 16:25:39 +0000-test3
Wed, 19 Apr 23 16:25:39 +0000-test7
Wed, 19 Apr 2023 16:25:39 +0000-test11
Wednesday, 19-Apr-2023 16:25:39 UTC-test10
Wed, 19 Apr 23 16:25:39 +0000-test5
Wed, 19 Apr 2023 16:25:39 +0000-test6
31th December 2024 Dinner reservation
09/2024/30 Prepare budget
2024-11-18 Meeting with client
11/18/2024 Submit project report
18-11-2024 Team building event
Nov 18, 2024 Annual review
2024.11.18 Update software
Monday, November 18, 2024 Plan presentation
2024/11/18 Organize files
2024/11/18-Organize files
2024 November 18 Finish book
2024 28 November Finish book
2024-28-November Finish book
18/11/2024 Start new project
2024-18-11-23Clean office
November 18, 2024 Family gathering
November 18, 24 Family gathering
11.18.2024 Schedule meeting
2024-11.18 Attend webinar
2023-04-19T16:25:39Z-test1
2023-04-19T16:25:39+0000-test2
Wed, 19 Apr 2023 16:25:39 +0000-test3
Wednesday, 19-Apr-23 16:25:39 UTC-test4
Wed, 19 Apr 23 16:25:39 +0000-test5
Wed, 19 Apr 2023 16:25:39 +0000-test6
Wed, 19 Apr 23 16:25:39 +0000-test7
2023-04-19T16:25:39+00:00-test8
2023-04-19T16:25:39+00:00-test9
Wednesday, 19-Apr-2023 16:25:39 UTC-test10
Wed, 19 Apr 2023 16:25:39 +0000-test11
2023-04-19T16:25:39+00:00-test12
2023-04-19 16:25:39.658210121 +0000-test13
2023-19-04 16:25:39-test14
2023-19-04 04:25:39 PM-test15
19-04-2023 16:25:39-test16
04-19-2023 16:25:39-test17
RegexOptions options = RegexOptions.Multiline;
foreach (Match m in Regex.Matches(input, pattern, options))
Console.WriteLine("'{0}' found at index {1}.", m.Value, m.Index);