有効桁数の決まっていない整数、小数と一致する正規表現パターン
たまにしか書かないので正規表現が苦手です。
有効桁数の決まっていない整数、小数と一致するパターンの
実装がすぐに分からなかったのでメモ。
^[-]?([1-9]\d*|0)(\.\d+)?$
以下JSのざっくりとした確認コード。
const reg = new RegExp(/^[-]?([1-9]\d*|0)(\.\d+)?$/) const str = [ '0', '100', '10.00', '0.1', '0.0', '-1', '-2.4', '00', '..0', '0..0', '0-0', '0.', 'a', '-a', ] str.forEach(element => console.log(`${element}\t:${reg.test(element)}`))
> "0 :true" > "100 :true" > "10.00 :true" > "0.1 :true" > "0.0 :true" > "-1 :true" > "-2.4 :true" > "00 :false" > "..0 :false" > "0..0 :false" > "0-0 :false" > "0. :false" > "a :false" > "-a :false"