需要帮助查找或让正则表达式匹配 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/