匹配全数只有正则表达式

时间:2014-02-02 06:47:27

标签: javascript python regex python-2.7 python-3.x

我正在玩正则表达式试图识别日期,我有以下正则表达式:

(([0]?[1-9])|^([1][3-9])|([1][0-2]))/([012]?[0-9]|[3][01])/[12][0-9][0-9][0-9]

问题是当我有一个不正确的日期(至少在美国)时,如14/02/2000仍然认为4/02/2000是一个日期。如何修改我的正则表达式,以便它不识别部分数字?

2 个答案:

答案 0 :(得分:1)

您可以将正则表达式包装在单词边界中:\b,以指示在第一个数字之前应该有一个非单词字符。

答案 1 :(得分:0)

怎么样: ^(([0]?[1-9])|([1][0-2]))\/([012]?[0-9]|[3][01])\/[12][0-9][0-9][0-9]$ 我添加了^$,并在第一段摆脱了^([1][3-9]),我不明白它的目的是什么。我也逃过了斜杠(\/