以前、正規表現を使って入力されたIPアドレスがIPv4の基準を満たしているか判定するというものを実装しました。
-
-
PythonでIPv4アドレスを判定する
「IPアドレスのIPv4を判定せよ!」という実装を考えた場合について考えました。 IPv4は理論上、0.0.0.0 ~ 255.255.255.255 の範囲で割り当てられます。 実質的には使用されな ...
続きを見る
正規表現を使っていて、ちょっとだけコードを短くできると思い出した為、一部修正してみました。
import re # 標準入力で "255.255.255.255" s = input() # {}で繰り返し処理を行う事でコードを短くする x = re.fullmatch(r"([2][0-5]{,2}|[1][\d]{,2}|[\d]{,2})" r"\.([2][0-5]{,2}|[1][\d]{,2}|[\d]{,2})" r"\.([2][0-5]{,2}|[1][\d]{,2}|[\d]{,2})" r"\.([2][0-5]{,2}|[1][\d]{,2}|[\d]{,2})", s) # 0.0.0.0 ~ 255.255.255.255 の範囲内であれば True # 範囲外であれば Falseを返す if x is None: print(False) else: print(True)
{}を使う事で繰り返す回数を指定しています。
上記の例では {,2} 直前の [0-5] つまり、0~5の数字を2回以下繰り返すという意味になります。
ちょっとだけ。うん。
ちょっとだけ、コードを短くする事ができました・・・。
正規表現って楽しいですね。