如何匹配一组数字中的一个?

时间:2012-08-24 11:18:25

标签: regex

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

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

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

对于单个数字,这种模式工作正常“0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9”,但它在两位数字上失败。例如,由于正则表达式在12中找到1,因此12次传递正常。

3 个答案:

答案 0 :(得分:2)

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

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

可以缩短为:

^(\d|10|11)$

答案 1 :(得分: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])(?=,|$)

答案 2 :(得分:0)

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