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) のみで構成されていることを表しています。また、小数点 (.) も含んでいます。
注意: 正規表現を使用する場合、文字列中に特殊文字が含まれている場合は、それらをエスケープする必要があります。例えば、小数点 (.) を表すには、. と記述する必要があります。
コメント