在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
方法检查输入字符串是否与相应的正则表达式匹配。
请注意,这些正则表达式可能无法涵盖所有可能的日期格式。你可以根据需要调整它们以适应你的特定情况。