次の例で使用している正規表現"\d{1,3}(\.\d{1,3}){3}(/\d{1,2})?"
は、IPアドレス(IPv4)となりうる文字列にマッチします。 この正規表現は、1~3桁の数字(\d{1,3}
)に続けて、ピリオドと1~3桁の数字の組み合わせが三回続き((\.\d{1,3}){3}
)、場合によってはスラッシュと1~2桁の数字が後続する((/\d{1,2})?
)文字列にマッチします。
この正規表現では、IPアドレスとしては不正な値の文字列にもマッチします。 具体的には、\d
を使っているため全角数字にもマッチする、\d{1,3}
には999
などのIPアドレスとしてはありえない数字にもマッチする、^
を使っていないため文字列の途中でもマッチするなど、完全ではない点に注意してください。