c# - 改进正则表达式以获得 6 位数字日期 (MMDDYY)

标签 c# .net regex

我目前正在使用:

[0-1]{1}[0-9]{1}[0-3]{1}[0-9]{1}[0-1]{1}[0-9]{1}

匹配一个 6 位数的日期。有没有办法让它更具限制性,我的问题是我在文本中包含其他 6-8 位数字,并且我在非日期序列中偶尔会出现误报。

有什么建议吗?

谢谢!

p.s 应该说年份总是大于 2000 小于当前日期,因此对年份有限制。

最佳答案

您应该为此使用一个实际的日期解析器,不仅可以更简单地解析实际可能的值(即 13 月无效),而且还可以为闰年等做好准备。

通常,您最喜欢的语言的日期解析器应该能够解析 MMDDYY 格式的字符串,并在失败时给出某种反馈。

关于c# - 改进正则表达式以获得 6 位数字日期 (MMDDYY),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11351019/

相关文章:

swift - 如何将模式中包含其他文本的文本个性化并使用正则表达式对其进行编辑

c# - 从邮件中的用户名设置?

c# - 找不到 OpenAPI 描述

c# - 在 .NET 中开发一个在后台运行的程序?

java - 在replaceAll()方法中调用replace替换字符串

javascript - 如何找到给定文本中第一个 backbone.js 标记之前的 url。我尝试了所有的可能性,但无法做到

c# - Unix 中的免费 C# 编译器

c# - 如何在WinForms中按下按钮来绘制图像?

c# - Winforms:如何创建具有可变项目高度的列表框

c# - 为什么不调用 Nhibernate 拦截器?