数値の正規表現を扱う機会があったのでメモ。
を参考にさせていただいて、
18桁以内かつ、小数点4位まで有効の正規表現を作成しました。
/^-?([0-9]){1,18}$|^-?([0-9]){1,17}(\.[0-9]{1})?$|^-?([0-9]){1,16}(\.[0-9]{2})?$|^-?([0-9]){1,15}(\.[0-9]{3})?$|^-?([0-9]){1,14}(\.[0-9]{4})?$/ =~ sample_numbers
もっと短くかけたりするんだろうなぁ。
ちなみに、Rubyの正規表現を チェックするにはこちらのサイトを使うと便利です。
ちなみにちなみに、
プログラムの世界では、
桁数はprecision、小数点以下はscaleで表現されていたりします。