Regex 使用正则表达式验证数字
我需要使用正则表达式验证输入类型是否是具有某些规范的数字。数字可以有任意数量的逗号(,),但不能有点(.),但逗号和点不能并排,例如 12,34,56,7.89--正确--1 12.34.56——错了——2 12345--正确----3 123,45——正确——4 123.45--正确--5 123,45--错了--6 12345678--正确--7 我用的表达是 (((\d+[.]?\d*)|(\d*[.]?\d+)[,]?)+\d+) 我无法解决测试用例2和6。任何帮助都可以接受,谢谢您试试这个正则表达式:Regex 使用正则表达式验证数字,regex,Regex,我需要使用正则表达式验证输入类型是否是具有某些规范的数字。数字可以有任意数量的逗号(,),但不能有点(.),但逗号和点不能并排,例如 12,34,56,7.89--正确--1 12.34.56——错了——2 12345--正确----3 123,45——正确——4 123.45--正确--5 123,45--错了--6 12345678--正确--7 我用的表达是 (((\d+[.]?\d*)|(\d*[.]?\d+)[,]?)+\d+) 我无法解决测试用例2和6。任何帮助都可以接受,谢谢您试试
^\d+(?:,\d+)*(?:\.\d+)?$
说明:
-断言行的开头^
-匹配1+个数字\d+
-匹配0+次出现的(?:,\d+)*
,后跟1+位,
-匹配一个(?:\。\d+)
,后跟1+位<代码>?最后使此子模式成为可选模式
-断言行的结尾$