<?php
$regex_ipv4 = "((?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?))(?!\\d)";
$regex_integer = "\\d+";
$x = "123.123.123.123";
$x2 = $x . ":12345";
preg_match("/^(?<ipv4>".$regex_ipv4.")(?::(?<port>".$regex_integer."))?$/", $x, $matches); preg_match("/^(?<ipv4>".$regex_ipv4.")(?::(?<port>".$regex_integer."))?$/", $x2, $matches2);
PD9waHAKCiRyZWdleF9pcHY0ID0gIigoPzooPzoyNVswLTVdfDJbMC00XVswLTldfFswMV0/WzAtOV1bMC05XT8pXFwuKXszfSg/OjI1WzAtNV18MlswLTRdWzAtOV18WzAxXT9bMC05XVswLTldPykpKD8hXFxkKSI7CiRyZWdleF9pbnRlZ2VyID0gIlxcZCsiOwoKJHggPSAiMTIzLjEyMy4xMjMuMTIzIjsKJHgyID0gJHggLiAiOjEyMzQ1IjsKCnByZWdfbWF0Y2goIi9eKD88aXB2ND4iLiRyZWdleF9pcHY0LiIpKD86Oig/PHBvcnQ+Ii4kcmVnZXhfaW50ZWdlci4iKSk/JC8iLCAkeCwgJG1hdGNoZXMpOwpwcmVnX21hdGNoKCIvXig/PGlwdjQ+Ii4kcmVnZXhfaXB2NC4iKSg/OjooPzxwb3J0PiIuJHJlZ2V4X2ludGVnZXIuIikpPyQvIiwgJHgyLCAkbWF0Y2hlczIpOwoKcHJpbnRfcigkbWF0Y2hlcyk7CnByaW50X3IoJG1hdGNoZXMyKTs=