我正在尝试将浮点十进制数与正则表达式匹配。小数点前可能有也可能没有数字,小数可能存在也可能不存在,如果存在则可能有或没有数字。 (对于此应用程序,不允许使用前导+/-或尾随“E123”)。我写了这个正则表达式:
/^([\d]*)(\.([\d]*))?$/
正确匹配以下内容:
1
1.
1.23
.23
但是,这也匹配空字符串或只是小数点的字符串,这是我不想要的。
目前我在运行正则表达式后检查$ 1或$ 3的长度大于0.如果不是,则无效。有没有办法可以在正则表达式中直接执行此操作?
答案 0 :(得分:6)
我认为这会做你想要的。它以数字开头,在这种情况下,小数点和后面的数字是可选的,或者以小数点开头,在这种情况下,必须至少有一位数字。
/^\d+(\.\d*)?|\.\d+$/
答案 1 :(得分:0)
为每个案例和OR创建一个正则表达式。那么你只需要测试表达式是否匹配。
/^(\d+(\.\d*)?)|(\d*\.\d+)$/
答案 2 :(得分:0)