以前、ある文字列がfloat型に変換可能かどうかを確認する方法を扱った以下の2つの記事を書きました。 isdigit()について - 主にプログラムを勉強するブログ 昨日のエントリの補足+α - 主にプログラムを勉強するブログ これらの記事、特に後者について訂正と補足をしたいと思います。 1年以上前の記事なので今さら訂正、補足をするのはきまりが悪いのですが明らかなミスがありましたので。 2つ目の記事の中で、ある文字列がfloat型に変換可能かどうかを判別する正規表現として re.compile("^\d+(\.\d+)?\Z") というのを書いていますが、これだと負の値がマッチしないというミスがありました。 num_reg = re.compile("^\d+(\.\d+)?\Z") print bool(num_reg.match('-14.1')) # False また'15e-3'と