我需要能够允许格式为MM / DD / YYYY的日期,其中在适当的时候前导的月份和日期可以在前导零或不可以在前导
换句话说: 可以接受01-09或1-9个月
01-09或1-9是可以接受的天
我与此非常接近:
/(0[1-9]|1[0-2])\/(0[1-9]|1[0-9]|2[0-9]|3(0|1))\/\d{4}/
由于我的知识有限,我认为这样做会允许前导零(或不可以)
/(0?[1-9]|1[0-2])\/(0[1-9]|1[0-9]|2[0-9]|3(0|1))\/\d{4}/
但是出于我无法解释的原因,该日期允许使用诸如13/31/2008之类的日期。
问题: 我需要一个正则表达式,允许所有可能的日期以MM / DD / YYYY格式显示,其中月份或日期可以包含前导零(或不包含前导零),并且两者都将通过。
编辑:
我正在使用第三方系统,如果用户输入的不是真实日期,则该下游系统将失败。我针对输入的唯一工具是Regex check。 (对于那些否决了我的问题的人)
答案 0 :(得分:2)
您非常接近,您所需要做的就是锚定正则表达式以开始和结束(并在几个月内也选择零),如下所示:
sudo su - abc -c 'sftp -o <path to ssh key> -o Port=22 <username@server.com>'
现在它将不接受2008年13月31日。