正则表达式仅允许日期和零

Regex allow dates and zeroes only

在我目前的regex中,我如何允许日期和zeores像00000000

我试过这种模式:^(3[01]|[12][0-9]|0?[1-9])(1[0-2]|0?[1-9])(19|20)\d{2}$,但它的唯一匹配日期像10122016


这里似乎没有一个所有零的模式。也许是这样的:

1
^((3[01]|[12][0-9]|0?[1-9])(1[0-2]|0?[1-9])(19|20)\d{2}|0+)$

注意到|0+朝着末端。如果您特别需要8个零,那么:

1
^((3[01]|[12][0-9]|0?[1-9])(1[0-2]|0?[1-9])(19|20)\d{2}|0{8})$