@H_301_0@想写一个正则表达式,验证带千分号的,带任意位小数的数字类型
@H_301_0@
@H_301_0@网上找来找去找到几个都不行,然后根据下面两个自己组装了一下,终于成功:
@H_301_0@^[-+]?(\d+(\.\d*)?|\.\d+)[dD]?$ 可以带正负号的,任意位小数的实数
@H_301_0@(\d*(,\d{3})*(.(\d{3},)*\d+)?) 不带正负号,可以带任意位小数的实数,但是有bug,如果给小数写上千分位,也能通过验证
@H_301_0@
@H_301_0@第一次优化
@H_301_0@^[-+]?(\d*(,)*\d+)?|\.\d+)[dD]?$ bug依旧
@H_301_0@第二次优化
@H_301_0@^[-+]?(\d*(,\d{3})*(.\d+))[dD]?$ bug消除了
@H_301_0@最后试了试貌似这样也可以
@H_301_0@^[-+]?(\d*(,\d{3})*.(\d+)?)
@H_301_0@
@H_301_0@最终解决方案,暂时还没有发现bug
@H_301_0@^[-+]?(\d*(,\d{3})*.(\d+)?)