如何检查正则表达式中的两个子表达式中是否至少有一个匹配?

Kip*_*Kip 7 regex syntax

我试图将浮点十进制数与正则表达式匹配.小数点前可能有也可能没有数字,小数可能存在也可能不存在,如果存在则可能有或没有数字.(对于此应用程序,不允许使用前导+/-或尾随"E123").我写了这个正则表达式:

/^([\d]*)(\.([\d]*))?$/
Run Code Online (Sandbox Code Playgroud)

哪个正确匹配以下内容:

1
1.
1.23
.23
Run Code Online (Sandbox Code Playgroud)

但是,这也匹配空字符串或只是小数点的字符串,这是我不想要的.

目前我在运行正则表达式后检查$ 1或$ 3的长度大于0.如果不是,则无效.有没有办法可以在正则表达式中直接执行此操作?

And*_*isi 6

我想这会做你想要的.它以数字开头,在这种情况下,小数点和后面的数字是可选的,或者以小数点开头,在这种情况下,必须至少有一位数字.

/^\d+(\.\d*)?|\.\d+$/
Run Code Online (Sandbox Code Playgroud)