Regex Matching numbers with floating point

Ich habe dieses Muster:

[0-9]*\.?[0-9]

Es stimmt mit Zahlen überein, aber es stimmt auch mit 3.5.4 überein als:

3.5.4

Wie kann man das beheben (dieser Eingang sollte nicht übereinstimmen)?
AKTUALISIEREN:
Dies sollte auch bei Eingaben funktionieren: 1 3.5.4 10

1.2. ist nicht erlaubt
.3 ist erlaubt

Jedes Zeichen, das kein Teil einer Zahl ist, ist nicht erlaubt, wie: a1 2.4f 3. 45, 67!

Antworten auf die Frage(5)

Ihre Antwort auf die Frage