en.javascript.info/9-regular-expressions/09-regexp-groups/3-find-decimal-positive-numbers/solution.md
2019-04-02 14:01:44 +03:00

517 B

An non-negative integer number is pattern:\d+. We should exclude 0 as the first digit, as we don't need zero, but we can allow it in further digits.

So that gives us pattern:[1-9]\d*.

A decimal part is: pattern:\.\d+.

Because the decimal part is optional, let's put it in parentheses with the quantifier pattern:'?'.

Finally we have the regexp: pattern:[1-9]\d*(\.\d+)?:

let reg = /[1-9]\d*(\.\d+)?/g;

let str = "1.5 0 -5 12. 123.4.";

alert( str.match(reg) );   // 1.5, 0, 12, 123.4