Javascript 不带前导零的Julian Day正则表达式
我真的很难为朱利安·戴伊创建一个不允许前导零的Reg-Ex 我正在使用JavaScript Reg Ex进行输入验证。它需要匹配1到366 示例匹配:Javascript 不带前导零的Julian Day正则表达式,javascript,regex,julian-date,Javascript,Regex,Julian Date,我真的很难为朱利安·戴伊创建一个不允许前导零的Reg-Ex 我正在使用JavaScript Reg Ex进行输入验证。它需要匹配1到366 示例匹配: 一, 九十九 366 159 匹配失败示例: 01 001 099 367 999 0 我在regex101上试过: ^[1-9]|[1-9][0-9]|[1-3][0-5][0-9]|[36[0-6]$ 但对于我来说,我并没有把可选部件正确地放下来。所以当我投266时,我得到了2和66的匹配。(本期正在翻译为我的。) 我曾考虑尝试对一个
- 一,
- 九十九
- 366
- 159
- 01
- 001
- 099
- 367
- 999
- 0
+
,但我需要不允许前导零,因此这不起作用
我已经阅读了关于询问正则表达式问题的说明,并尝试按照说明进行操作,但如果我遗漏了什么,请告诉我,我将更新我的问题。主要问题有两个:1)应将备选方案分组,以便^
和$
锚可应用于所有问题,2)[1-3][0-5][0-9]
部分与160
到199
和260
到299
不匹配,此部分应分为两个独立的分支,[12][0-9]{2}3[0-5][0-9]
你可以用
^(?:[1-9]|[1-9][0-9]|[12][0-9]{2}|3[0-5][0-9]|36[0-6])$
看
详细信息
-字符串的开头^
-备选方案组:(?:
-1到9[1-9]
-或|
-[1-9][0-9]
至10
99
-或|
-[12][0-9]{2}
至100
299
-或|
-3[0-5][0-9]
至300
359
-或|
-36[0-6]
至360
366
-替换组结束)
-以及字符串的结尾$