基本概念

Pythonで文字列が数値として正しい形式であるかを確認する方法

Pythonでは、文字列が数値として正しい形式であるかどうかを確認するには、標準ライブラリの re モジュールを使用することができます。
このモジュールは、正規表現を扱うためのものです。

スポンサーリンク

整数の場合

例えば、以下のようにして、文字列が整数の形式であるかどうかを確認することができます。

import re
def is_integer(string):
# ^ は文字列の先頭を表し、$ は文字列の末尾を表す
# \d は数字を表す
# + は直前の文字が1回以上繰り返されることを表す
pattern = "^\d+$"
return bool(re.match(pattern, string))
print(is_integer("123"))  # True
print(is_integer("123.4"))  # False
print(is_integer("abc"))  # False

上記の例では、文字列が整数の形式であるかどうかを確認するために、正規表現 “^\d+$” を使用しています。
この正規表現は、文字列の先頭 (^) から末尾 ($) までが、1 回以上 (+) 繰り返される数字 (\d) のみで構成されていることを表しています。

少数の場合

例えば、以下のようにして、文字列が少数の形式であるかどうかを確認することができます。

import re
def is_float(string):
# ^ は文字列の先頭を表し、$ は文字列の末尾を表す
# \d は数字を表す
# + は直前の文字が1回以上繰り返されることを表す
# \. は小数点を表す
pattern = "^\d+\.\d+$"
return bool(re.match(pattern, string))
print(is_float("123.4"))  # True
print(is_float("123"))  # False
print(is_float("abc"))  # False

上記の例では、文字列が少数の形式であるかどうかを確認するために、正規表現 “^\d+.\d+$” を使用しています。
この正規表現は、文字列の先頭 (^) から末尾 ($) までが、1 回以上 (+) 繰り返される数字 (\d) のみで構成されていることを表しています。また、小数点 (.) も含んでいます。

注意: 正規表現を使用する場合、文字列中に特殊文字が含まれている場合は、それらをエスケープする必要があります。例えば、小数点 (.) を表すには、. と記述する必要があります。

コメント

タイトルとURLをコピーしました