------art_2018_3018110.1139707906280
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline

2006/2/12, Alexis Reigel <mail / koffeinfrei.org>:
>
> >
> > This should handle periods or commas as the separator.
> >
> > a = "24,4 + 55,2 + 55 - 44,0"
> >    => "24,4 + 55,2 + 55 - 44,0"
> > a.scan /(\d+,?.?\d*)(?=\s|$)/
> >    => [["24,4"], ["55,2"], ["55"], ["44,0"]]
> >
>
> Some problems here:
> - signs are disregarded ("-24,4" becomes "24,4")
> - Invalid numbers are accepted: eg. "24,.4" "24,." "24." "24,"
> - "." should be escaped. As you used it here, it means "any character"
> (except newline), so many invalid numbers are accepted (e.g. "24w"...)
> - If something different from whitespace follows the number, it is not
> or false accepted, e.g. "24.4." becomes "4." instead of "24.4"
> - ...
>
>
> Alexis.
>
>
>

Let me see if I got it right then. I'll like to use periods only for my
decimal numbers. I also need normal integers so 24. being accepted won't
matter. Will this fix the problems you presented?:
/[-+]?(\d+\.?\d*)(?=\s|$)/


I don't know if it takes care of the last problem, because I didn't
understand it.

------art_2018_3018110.1139707906280--