正则表达式,数字低于 20k
Regex, numbers below 20k
我正在寻找一个正则表达式来验证数字是否低于 20 000。
我找不到正确的解决方案,到目前为止我有这个:
(^([1-9]([0-9]{0,3})|20000)$)
它工作得很好,但一旦达到 10 000,它就没有匹配项。所以我有 9 999 - 20 000 的差距。
我做错了什么?我不在这些情况下使用正则表达式,但第 3 方程序需要正则表达式来处理这种情况。
谢谢!
([1-9]([0-9]{0,3})
部分旨在匹配 严格 2000
以下的所有数字,但您将其定义为:"A digit one to nine followed by zero to three digits"。现在 10 000
是一个 1 后跟四个零:您可以将这部分重写为:
[1-9][0-9]{3}|1[0-9]{4}
完整的正则表达式现在是:
^[1-9][0-9]{3}|1[0-9]{4}|20000$
我知道了:
^([01]?\d{0,4}|20000)$
匹配从 0 到 20 000 的任何数字,并允许用户使用前导 0 的数字 Live Demo
您的正则表达式 - ^([1-9]([0-9]{0,3})|20000)$
- 匹配从 1
到 9999
和 20000
.
的数字
您可以使用
^([1-9]\d{0,3}|1\d{4}|20000)$
见demo
细分:
^
- 匹配字符串的开头
([1-9]\d{0,3}|1\d{4}|20000)
- 匹配选项之一:
[1-9]\d{0,3}
- 1
到 9
后跟 0 到 3 个任意数字(从 1
到 9999
)
1\d{4}
- 1
后跟任意 4 位数字(以匹配 10000 - 19999
)
20000
- 字面上的 20000
$
- 匹配字符串的结尾
我正在寻找一个正则表达式来验证数字是否低于 20 000。 我找不到正确的解决方案,到目前为止我有这个:
(^([1-9]([0-9]{0,3})|20000)$)
它工作得很好,但一旦达到 10 000,它就没有匹配项。所以我有 9 999 - 20 000 的差距。
我做错了什么?我不在这些情况下使用正则表达式,但第 3 方程序需要正则表达式来处理这种情况。
谢谢!
([1-9]([0-9]{0,3})
部分旨在匹配 严格 2000
以下的所有数字,但您将其定义为:"A digit one to nine followed by zero to three digits"。现在 10 000
是一个 1 后跟四个零:您可以将这部分重写为:
[1-9][0-9]{3}|1[0-9]{4}
完整的正则表达式现在是:
^[1-9][0-9]{3}|1[0-9]{4}|20000$
我知道了:
^([01]?\d{0,4}|20000)$
匹配从 0 到 20 000 的任何数字,并允许用户使用前导 0 的数字 Live Demo
您的正则表达式 - ^([1-9]([0-9]{0,3})|20000)$
- 匹配从 1
到 9999
和 20000
.
您可以使用
^([1-9]\d{0,3}|1\d{4}|20000)$
见demo
细分:
^
- 匹配字符串的开头([1-9]\d{0,3}|1\d{4}|20000)
- 匹配选项之一:[1-9]\d{0,3}
-1
到9
后跟 0 到 3 个任意数字(从1
到9999
)1\d{4}
-1
后跟任意 4 位数字(以匹配10000 - 19999
)20000
- 字面上的20000
$
- 匹配字符串的结尾