我需要一个正则表达式来匹配 10 到 10000(含)范围内的金额 到目前为止,我想出了这样的东西:
^(?:[1-9]\\d{0,3}?)$
但是它有两个问题:
- 它匹配 10 以内的任何内容,例如 5
- 不包括 10000
我知道使用正则表达式来匹配范围并不是最好的主意,但它必须这样做。
最佳答案
你可以使用
^([1-9][0-9]{1,3}|10000)$
请参阅regex demo
图案详细信息:
^
- 字符串的开头([1-9][0-9]{1,3}|10000)
- 有 2 个选项的交替:[1-9][0-9]{1,3}
- 1 到 9 之间的数字,后跟 1 到 3 个任意数字({1,3}
对于排除匹配的5
以及10
之前的所有数字非常重要),并且它匹配从10
到的整数9999
,没有前导零。|
- 或10000
- 10000 数字
$
- 字符串结尾
关于java - 正则表达式匹配金额范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37293383/