Regex 特定给定范围的正则表达式“;001至150“;
这是我试过的 但却无法达到预期的效果。 案例1: 它的接受范围为001-159,正如我给出的[0-9] 对于案例2:Regex 特定给定范围的正则表达式“;001至150“;,regex,Regex,这是我试过的 但却无法达到预期的效果。 案例1: 它的接受范围为001-159,正如我给出的[0-9] 对于案例2: ^(00[1-9]|0[1-9][0-9]|1[0-50][0])$ 它接受110,120。。。150作为最后接受的数字是“0” 预期结果应仅接受001-150 非常感谢你的帮助 您可以使用: ^(00[1-9])|(0[1-9]\d)|(1[0-4]\d)|(150)$ 哪一个匹配: 00后接1-9 0后跟1-9后跟任意数字 1后跟0-4和任意数字 或150 这些组相互
^(00[1-9]|0[1-9][0-9]|1[0-50][0])$
它接受110,120。。。150作为最后接受的数字是“0”
预期结果应仅接受001-150
非常感谢你的帮助 您可以使用:
^(00[1-9])|(0[1-9]\d)|(1[0-4]\d)|(150)$
哪一个匹配:
- 00后接1-9
- 0后跟1-9后跟任意数字
- 1后跟0-4和任意数字
- 或150
^(00[1-9])|(0[1-9]\d)|(1[0-4]\d)|(150)$
哪一个匹配:
- 00后接1-9
- 0后跟1-9后跟任意数字
- 1后跟0-4和任意数字
- 或150
这些组是互斥的,因此只有一个组应该匹配(如果有的话)。如果可能的话,尝试将它们解析为整数,并使用您选择的编程语言进行范围检查 除此之外,您的第一种方法非常接近,只需将第三种方法限制为149,并添加150作为单独的值,如
^(00[1-9]|0[1-9][0-9]|1[0-4][0-9]|150)$
如果可能的话,尝试将它们解析为整数,并使用您选择的编程语言进行范围检查 除此之外,您的第一种方法非常接近,只需将第三种方法限制为149,并添加150作为单独的值,如
^(00[1-9]|0[1-9][0-9]|1[0-4][0-9]|150)$
^(00[1-9]| 0[1-9][0-9]| 1[0-4][0-9]| 150)$在大多数情况下,我不会用正则表达式来处理这个问题。大致如下:
length(x)==3&&Integer(x)>=1&&Integer(x)^(00[1-9]| 0[1-9][0-9]| 1[0-4][0-9]| 150)$对于大多数情况,我不会使用正则表达式。类似于:length(x)==3&&Integer(x)>=1&&Integer(x)这允许000
,应该将其排除在外。您需要OP问题的前两个备选方案。这允许000
,应该将其排除在外。你需要从OP的问题中选择前两个选项。