2

正如问题中提到的,我如何编写一个正则表达式来接受 from 00100to 99999

我已经写了

\d{5}

但它也会接受全零。

4

3 回答 3

4

或者,您可以使用否定的前瞻性断言来禁止您不想包含的数字:

^(?!000)\d{5}$

哪个不匹配任何开头有三个零的五位数字,这也是您想要的。

看见

于 2012-05-04T11:46:22.537 回答
2

试试这个:

^00[1-9][0-9]{2}$|^0[1-9][0-9]{3}$|^[1-9][0-9]{4}$

在线查看它:rubular

请注意,正则表达式不是接受任意整数范围的好工具。如果将字符串转换为整数并使用普通代码测试整数是否在范围内,可能会更容易阅读。

于 2012-05-04T11:38:19.923 回答
0

[0-9]{2}[1-9]{1}[0-9]{2}

内容如下:

[0-9]{2} 我想要 2 位数字....你可以在这里使用 \d{2} 。

[1-9]{1} 我想要 1-9 范围内的 1 个数字。{1} 是不需要的,但我认为有助于清晰。

[0-9]{2} 我又想要 2 位数字。

应该给你你想要的。

于 2012-05-04T11:41:29.507 回答