在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
方法檢查輸入字符串是否與相應的正則表達式匹配。
請注意,這些正則表達式可能無法涵蓋所有可能的日期格式。你可以根據需要調整它們以適應你的特定情況。