我想知道如何将年份强制为4位
参考:https://stackoverflow.com/a/26972181/3541735
我的正则表达式稍微调整一下,不允许“/”或“。”只有几个月的数字:
^(?:(?:31(-)(?:0?[13578]|1[02]))\1|(?:(?:29|30)(-)(?:0?[1,3-9]|1[0-2])\2))(?:(?:1[6-9]|[2-9]\d)?\d{2})$|^(?:29(-)(?:0?2)\3(?:(?:(?:1[6-9]|[2-9]\d)?(?:0[48]|[2468][048]|[13579][26])|(?:(?:16|[2468][048]|[3579][26])00))))$|^(?:0?[1-9]|1\d|2[0-8])(-)(?:(?:0?[1-9])|(?:1[0-2]))\4(?:(?:1[6-9]|[2-9]\d)?\d{2})$
答案 0 :(得分:0)
要求4位数年份有点棘手,但在Debuggex的帮助下,我能够找到qba
允许年份的三个位置被指定为2或4位数。通过删除这三次出现的?
,现在要求年份包括所有4位数。否则,前两位数字是可选的。
?
这是更新的正则表达式的直观表示。请注意,三个旁路循环不再出现在年份的前两位数字上。