我有这种格式的字符串MM/YY,MM可以是01 02 03 04 05 06 07 08 09 10 11 12而YY可以是10到99什么是正则表达式对应。与正则表达式匹配的字符串
我想^\d\d/\d\d$
编辑:
从波纹管 我不推荐使用正则表达式来进行日期时间的严格验证的评论。 但在我的情况下,可以做一个简单的比赛。
编辑: 我改了称呼,因为人们有的人能疯子
我有这种格式的字符串MM/YY,MM可以是01 02 03 04 05 06 07 08 09 10 11 12而YY可以是10到99什么是正则表达式对应。与正则表达式匹配的字符串
我想^\d\d/\d\d$
编辑:
从波纹管 我不推荐使用正则表达式来进行日期时间的严格验证的评论。 但在我的情况下,可以做一个简单的比赛。
编辑: 我改了称呼,因为人们有的人能疯子
有一试:
^(?:0[1-9]|1[012])/\d\d$
,或者如果第一0
是可选的:
^(?:0?[1-9]|1[012])/\d\d$
谢谢我的第一个0不是可选的,但是当你给出两个有效的答案时没关系 – 2012-02-21 12:55:04
@ ChristopheDebove:不客气。 – Toto 2012-02-21 12:56:55
你可以尝试这样的事情^(0|1)\d{1}/\d{2}$
如果您的月可能有前导零。否则^1?\d{1}\/d{2}$
应该做的伎俩。
写所有的可能性(这不是那么长):
^(0\d|10|11|12)/\d\d$
感谢您的参与,但不太好 – 2012-02-21 13:03:22
这将仅允许1至12(或01至12):^(0?[1-9]|1[012])$
我确定有人会以书面形式回答您的问题,但使用正则表达式验证DateTimes是该作业的错误工具。 – Widor 2012-02-21 12:31:00
你想使用哪种正则表达式?基本?扩展? PCRE? – ghoti 2012-02-21 12:32:31
就像你不想要几个月> 12,你也不想匹配大于特定月份的允许值的日子,并且你需要考虑闰年。正如维多尔所说,正则表达式是错误的工具。 – ghoti 2012-02-21 12:33:45