256以上のアドレス、ポートも16ビット超えるけどいいの?
[0-9] → \d
最初の3組をくり返しにする
全体を()でグルーピングする意味はない

アドレスとポートでざっくり分割してアドレス変換成功で判断するか
あるいはそれぞれグループでマッチさせて255以下か確認するなど