我正在使用下面的正则表达式来验证金钱,效果很好。^\d{1,3}(,\d{3})*$现在我想添加最低金额,就像最低金额应该是20,000 任何人都可以帮助我吗?小提琴: https: //regexr.com/5h5bf小提琴已更新为正确的表达
1 回答
哆啦的时光机
TA贡献1779条经验 获得超6个赞
阅读评论,我不确定正则表达式是否会成为您前进的方向,但您似乎已经下定决心。您似乎希望验证一个以逗号分隔的字符串,该字符串需要从 20,000 开始,其中数字的每个第二部分都是 3 位数字长。我想出了:
^(?:[2-9]\d|[1-9]\d\d|[1-9],\d{3})(?:,\d{3})+$
查看在线演示
^
- 开始弦锚。(?:
- 打开第一个非捕获组。[2-9]\d
- 2-9 范围内的数字,后跟任意数字。|
- 或者。[1-9]\d\d
- 1-9 范围内的数字,后跟任意两位数字。|
- 或者。[1-9],\d{3}
- 1-9 范围内的数字,后跟逗号和任意三位数字。)
- 关闭第一个非捕获组。(?:
- 打开第二个非捕获组。,\d{3}
- 逗号后跟任意三位数字。)+
- 关闭第二个非捕获组并至少重复一次。$
- 结束弦锚。
作为替代方案,您也可以使用前瞻,例如:
^(?=.{6,})(?!1.{5}$)[1-9]\d?\d?(?:,\d{3})+$
查看在线演示
^
- 开始弦锚。(?=.{6,}
- 正向预测 6 个或更多字符。(?!1.{5}$)
- 负向前查找 1 后跟 5 个字符,直到字符串结束。[1-9]\d?\d?
- 1-9 范围内的数字,后跟两个可选数字(也可以写[1-9]\d{0,2}
)。(?:
- 打开第二个非捕获组。,\d{3}
- 逗号后跟任意三位数字。)+
- 关闭非捕获组并至少重复一次。$
- 结束弦锚。
添加回答
举报
0/150
提交
取消