正则表达式只允许1到12之间的数字

tan*_*ava 3 regex regex-lookarounds

正则表达式只允许1到12之间的数字

我正在尝试,(12)|[1-9]\d?但它不起作用,请帮助,因为我是正规表达的新手

nu1*_*73R 14

就像是

^([1-9]|1[012])$
Run Code Online (Sandbox Code Playgroud)
  • ^ 在字符串的开头处锚定正则表达式
  • [1-9]匹配19

  • | 轮换,匹配上一场比赛或以下比赛.

  • 1[012]匹配10,1112
  • $ 将正则表达式锚定在字符串的末尾.

正则表达式演示


Kyl*_*Mit 14

下面是一些现成的正则表达式,用于一定范围内的一堆不同数字

范围 标签 正则表达式
1 到 12 小时/月 1[0-2]|[1-9]
1 至 24 小时 2[0-4]|1[0-9]|[1-9]
1 至 31 每月的某一天 3[01]|[12][0-9]|[1-9]
1 至 53 一年中的一周 5[0-3]|[1-4][0-9]|[1-9]
0 到 59 分钟/秒 [1-5]?[0-9]
0 到 100 百分比 100|[1-9]?[0-9]
0 到 127 有符号字节 12[0-7]|1[01][0-9]|[1-9]?[0-9]
32 至 126 ASCII码 12[0-6]|1[01][0-9]|[4-9][0-9]|3[2-9]


Nev*_*ess 5

尝试这样的事情:

^(1[0-2]|[1-9])$
Run Code Online (Sandbox Code Playgroud)

1[0-2] : 第一个字符必须是 1,第二个字符可以在 0 到 2 的范围内

[1-9] : 1-9 的数字

^ : 字符串的开始

$ : 字符串结尾

演示