我想创建一个正确的五位数字的正则表达式,应该在90000 - 96163之间的范围内。 我创建了正好5个数字的正则表达式 @“^ \ d { 5} $“ 现在我该如何确保它在90000 - 96163的范围之间? 小于90001和超过96162的任何值都不应该起作用。正则表达式的最小值和范围数
感谢
我想创建一个正确的五位数字的正则表达式,应该在90000 - 96163之间的范围内。 我创建了正好5个数字的正则表达式 @“^ \ d { 5} $“ 现在我该如何确保它在90000 - 96163的范围之间? 小于90001和超过96162的任何值都不应该起作用。正则表达式的最小值和范围数
感谢
这是用在你的语言规则的数值比较(使用<
和>
运营商)最容易实现的。
您可以使用正则表达式做了一系列检查,但它是乏味的实施和所有,但很好的可读性。为了完整起见,这里是一个可能的模式:
9([0-5][0-9]{3}|6(0[0-9]{2}|1([0-5][0-9]|6[0-3])))
打散,图案内容如下:
9 # The first digit must be a 9
(
[0-5][0-9]{3} # Covering the range 90000-95999
|
6 # Matching 96xxx
(
0[0-9]{2} # Covering the range 96000-96099
|
1 # Matching 961xx
(
[0-5][0-9] # Covering the range 96100-96159
|
6[0-3] # Covering the range 96160-96163
)
)
)
请不要做,如果能够避免它。只要考虑范围边界发生变化时会发生什么情况:想象一下,您必须检查一个值是否在7243和132843之间 - 这并不好玩。
数字由数字:
/(?!^90000$)(^9([0-5]\d{3}|6(0\d{2}|1([0-5]\d|6[0-2]))))$/
这不是正则表达式的工作。分开'-'并测试每个数字。 – Toto