Python プログラミング メモ

PythonでIPv4アドレスを判定する - 修正

以前、正規表現を使って入力されたIPアドレスがIPv4の基準を満たしているか判定するというものを実装しました。

no image
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回以下繰り返すという意味になります。

ちょっとだけ。うん。

ちょっとだけ、コードを短くする事ができました・・・。

正規表現って楽しいですね。

-Python, プログラミング, メモ

Copyright© donguri.pyのblog , 2024 All Rights Reserved.