温馨提示×

c#正则表达式怎样匹配日期格式

c#
小樊
81
2024-10-12 16:56:21
栏目: 编程语言

在C#中,你可以使用Regex类来匹配日期格式。为了匹配常见的日期格式(如MM/dd/yyyy、yyyy-MM-dd等),你可以使用以下正则表达式:

using System;
using System.Text.RegularExpressions;

class Program
{
    static void Main()
    {
        string dateFormat1 = "MM/dd/yyyy";
        string dateFormat2 = "yyyy-MM-dd";

        string input1 = "12/31/2021";
        string input2 = "2021-12-31";

        Regex regex1 = new Regex(@"^(?:(?:0[1-9]|1[0-2])/(?:0[1-9]|[12][0-9]|3[01])|(?:29|30)/(?:0[13-9]|1[0-2])|31/(?:0[13578]|1[02]))/\d{4}|29/02/(?:\d{2}(?:0[48]|[2468][048]|[13579][26])|(?:0[48]|[2468][048]|[13579][26])00))$");
        Regex regex2 = new Regex(@"^(?:\d{4}-(?:0[1-9]|1[0-2])-(?:0[1-9]|[12][0-9]|3[01])|(?:0[13-9]|1[0-2])-(?:29|30)-\d{4}|(?:0[13578]|1[02])-31-\d{4})$");

        bool match1 = regex1.IsMatch(input1);
        bool match2 = regex2.IsMatch(input2);

        Console.WriteLine($"Input: {input1}, Match (MM/dd/yyyy): {match1}");
        Console.WriteLine($"Input: {input2}, Match (yyyy-MM-dd): {match2}");
    }
}

这个示例中,我们定义了两个正则表达式,一个用于匹配MM/dd/yyyy格式,另一个用于匹配yyyy-MM-dd格式。然后,我们使用IsMatch方法检查输入字符串是否与相应的正则表达式匹配。

请注意,这些正则表达式可能无法涵盖所有可能的日期格式。你可以根据需要调整它们以适应你的特定情况。

0