^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]?|[1-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]?|[1-9][0-9]?)$|^(?=^.{3,255}$)([a-zA-Z0-9][-a-zA-Z0-9]{0,62})?(\.[a-zA-Z0-9][-a-zA-Z0-9]{0,62})*\.[a-zA-Z]{1,62}$
参考:https://blog.csdn.net/wangyichina/article/details/85319194