c# - 匹配 M/YYYY、MM/YYYY、M/YY 或 MM/YY 格式的正则表达式

标签 c# regex

需要帮助查找或让正则表达式匹配 MM/YY 或 MM/YYYY 格式。我的 RegExFu 很弱,我什至不知道从哪里开始写。

月份应该是 1-12,年份,2009 年之后的任何内容都应该有效。很抱歉之前没有提及更多细节。这用作到期日期。

我将为超越并验证大于等于今天日期的 MM/YY 或 MM/YYYY 格式的人提供奖励。让过期的东西通过第一个验证层是没有意义的。


我感觉很糟糕,因为我改变了我的要求并且必须在中间问题中更具体地说明我需要什么,所以我会奖励所有在无赏金窗口期满后回答的人。

最佳答案

怎么样

^(1[0-2]|0[1-9]|\d)\/(20\d{2}|19\d{2}|0(?!0)\d|[1-9]\d)$

匹配月份

// 10 to 12 | 01 to 09 | 1 to 9
(1[0-2]|0[1-9]|\d)

和岁月

// 2000 to 2099 | 1900 to 1999
// 01 to 09 | 10 to 99
(20\d{2}|19\d{2}|0(?!0)\d|[1-9]\d)

匹配任何 >= 2010

/^(1[0-2]|0[1-9]|\d)\/([2-9]\d[1-9]\d|[1-9]\d)$/;

结果:

12/2009 : false
1/2010  : true
12/2011 : true
12/9011 : true
12/07   : false
12/17   : true

关于c# - 匹配 M/YYYY、MM/YYYY、M/YY 或 MM/YY 格式的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3944446/

相关文章:

c# - Directory.GetFiles() 但仅包含具有特定内容的文件(例如 "my file contents")使用 C#

c# - 在后面的代码中从 DataTable 设置 javascript 数组

c# - 批量SQL插入故障排除

regex - 如何从文件的最后/结尾部分获取第 n 个值?

regex - Oracle SQL Developer 中的正则表达式模式 : include numbers

javascript - 匹配以空格开头的多行

c# - C# 静态构造函数线程安全吗?

c# - 无法使用 Javascript 折叠 div

java.util.regex.Matcher.replaceAll 替换不匹配?

java - 模式匹配器