0

我正在尝试匹配正则表达式中包含以下内容之一的一组数字:

1,2,3,4,5,6,7,8,9,10,11

但我无法弄清楚正则表达式。

对于个位数,这种模式在 "0|1|2|3|4|5|6|7|8|9" 上工作得很好,但在两位数上却失败了。例如,由于正则表达式在 12 中找到 1,因此 12 次通过。

4

3 回答 3

2

您可以使用开始和结束锚点来强制匹配整个字符串:

^(0|1|2|3|4|5|6|7|8|9|10|11)$

可以缩短为:

^(\d|10|11)$
于 2012-08-24T11:20:40.423 回答
1

如果您想检查是否只有一个数字介于0 和 11之间,这将起作用。

^[0-9]$|^1?[0-1]$

如果你想匹配一个字符串,如:

1,2,3,12,32,5,1,6,8, 11

并匹配 0-11 然后您可以使用以下内容:

(?<=,|^)([0-9]|1?[0-1])(?=,|$)
于 2012-08-24T12:02:08.407 回答
0

使用这个正则表达式^(0|1|2|3|4|5|6|7|8|9|(10)|(11))$

于 2012-08-24T11:21:16.337 回答