正则表达式-验证带千分号的,带任意位小数的数字类型

想写一个正则表达式,验证带千分号的,带任意位小数的数字类型


网上找来找去找到几个都不行,然后根据下面两个自己组装了一下,终于成功:

^[-+]?(\d+(\.\d*)?|\.\d+)[dD]?$ 可以带正负号的,任意位小数的实数

(\d*(,\d{3})*(.(\d{3},)*\d+)?) 不带正负号,可以带任意位小数的实数,但是有bug,如果给小数写上千分位,也能通过验证


第一次优化

^[-+]?(\d*(,)*\d+)?|\.\d+)[dD]?$ bug依旧

第二次优化

^[-+]?(\d*(,\d{3})*(.\d+))[dD]?$ bug消除了

最后试了试貌似这样也可以

^[-+]?(\d*(,\d{3})*.(\d+)?)


最终解决方案,暂时还没有发现bug

^[-+]?(\d*(,\d{3})*.(\d+)?)

相关文章

正则替换html代码中img标签的src值在开发富文本信息在移动端...
正则表达式
AWK是一种处理文本文件的语言,是一个强大的文件分析工具。它...
正则表达式是特殊的字符序列,利用事先定义好的特定字符以及...
Python界一名小学生,热心分享编程学习。
收集整理每周优质开发者内容,包括、、等方面。每周五定期发...