我的任务是写一个正则表达式,它只接受闰年,第一年必须是1584,没有上限。有没有人能帮我重做这个表达式。?
(15(8[48]|9[26]))|((1[6-9]|[2-9]\d)(0[48]|[13579][26]|[2468][048]))|(([2468][048]|16|3579[26])00)它不起作用,我做到了:
(15(8[48]|9[26]))|((1[6-9]|[2-9]\d)(0[48]|[13579][26]|[2468][048]))|(([2468][048]|16|3579[26])00)|
(
[1-9]\d*
(
([02468][048]|[13579][26])00
|
\d\d(0[48]|[13579][26]|[2468][048])
)
)当我加1的时候,它不接受19996,或者100000000或者更高,我做错了什么吗?
例如,它不适用于109400
发布于 2013-01-25 18:42:23
您的正则表达式匹配1584年到9996年的闰年。
要计算大于9996的闰年,只需在正则表达式的末尾添加以下备选:
|
(
[1-9]\d*
(
([02468][048]|[13579][26])00
|
\d\d(0[48]|[13579][26]|[2468][048])
)
)@user2010564 :在regex的末尾添加一行代码:
|([1-9]\d*(([02468][048]|[13579][26])00|\d\d(0[48]|[13579][26]|[2468][048])))https://stackoverflow.com/questions/14519715
复制相似问题