我需要 .net 的正则表达式与以下模式匹配: YYYYMM
其中:
我已经完成了以下问题,包括无效的月份值。
[2]{1}[0]{1}[0-4]{1}[0-9]{1}[0-1]{1}[0-9]{1}
任何建议?
答案 0 :(得分:8)
这应该有效:20[0-4]\d(0[1-9]|1[0-2])
要匹配一个月,您需要寻找:
0
后跟[1-9]
或 1
后跟[0-2]
如果您想要捕获年份和月份,(20[0-4]\d)(0[1-9]|1[0-2])
如果您不想捕获年份或月份,20[0-4]\d(?:0[1-9]|1[0-2])
如果您想使用名称(?<year>20[0-4]\d)(?<month>0[1-9]|1[0-2])
答案 1 :(得分:4)
(?<year>20[0-4]\d(?<month>(0[1-9])|(1[0-2])))
这是我将在两个命名组中分开的正则表达式