gpt4 book ai didi

c# - 日期模式的正则表达式?

转载 作者:行者123 更新时间:2023-12-05 08:14:41 25 4
gpt4 key购买 nike

尝试在 C# 中编写接受以下任何/所有内容的正则表达式:

  1. 1968 年 2 月 1 日
  2. 1968 年 2 月 1 日
  3. 1968 年 2 月 1 日

(这个问题与其他类似问题有些不同,因为这是一个单词,格式为 mm/dd/yyyy。只需要模式而不验证其可能性。即 99/99/9999没问题)

我很快就无处可去。据我所知(仅识别 02/01/1968):

Regex regex = new Regex(@"^\d{2}/\d{2}/\d{4}$",RegexOptions.IgnorePatternWhitespace);
Match x = regex.Match(birthdate);
if (x.Success == false) return;

感谢您的帮助。 (非常感谢使用正则表达式的解释)。

最佳答案

如评论中所述,使用日期时间解析器。要获得正确的正则表达式(仅返回有效的日期时间)可能非常复杂且难以维护。

var formats = new[] { "d/M/yyyy", "dd/M/yyyy", "d/MM/yyyy", "dd/MM/yyyy" };
DateTime dt;
if (DateTime.TryParseExact(input, formats, null, DateTimeStyles.None, out dt))
{
//parsed correctly
}

顺便说一句:你的问题中不清楚你是要dd/mm还是mm/dd,我选择了第一个

关于c# - 日期模式的正则表达式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31817105/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com