- 整数または小数を受け入れるパターン:
正規表現パターン: ^[-+]?[0-9]+(.[0-9]+)?$
説明:
- ^[-+]? : 先頭がオプションの負号または正号で始まることを表します。
- [0-9]+ : 1つ以上の数字が続くことを表します。
- (.[0-9]+)? : オプションの小数点と1つ以上の数字が続くことを表します。
- $ : 文字列の終わりを表します。
例: import re
pattern = r'^[-+]?[0-9]+(.[0-9]+)?$' inputs = ["123", "-456", "+789", "3.14", "-2.718", "+0.5", "abc", "12x34", "-"] for input_str in inputs: if re.match(pattern, input_str): print(f"{input_str} は数値です") else: print(f"{input_str} は数値ではありません")
出力: 123 は数値です -456 は数値です +789 は数値です 3.14 は数値です -2.718 は数値です +0.5 は数値です abc は数値ではありません 12x34 は数値ではありません
- は数値ではありません
- 負数のみを受け入れるパターン: 正規表現パターン: ^-?[0-9]+(.[0-9]+)?$ 説明: 先頭にオプションの負号があり、その後に1つ以上の数字とオプションの小数部分が続くことを表します。
例: import re
pattern = r'^-?[0-9]+(.[0-9]+)?$' inputs = ["-123", "-456.78", "789", "3.14", "abc", "-xyz"] for input_str in inputs: if re.match(pattern, input_str): print(f"{input_str} は負数です") else: print(f"{input_str} は負数ではありません")
出力: -123 は負数です -456.78 は負数です 789 は負数ではありません 3.14 は負数ではありません abc は負数ではありません -xyz は負数ではありません
これらの正規表現パターンは、数値の形式を検証するために使用できます。必要に応じて、他の方法やパターンを組み合わせることもできます。