正则表达式检查有效的主机名端口

时间:2014-09-22 03:41:48

标签: regex

我通过各种网站进行搜索,在这里找到一个有效的网站。

我需要一个验证游戏服务器主机名格式正确的正则表达式。

示例:

gost.gflclan.com:27015

还有正常的ip:port

103.18.138.27:27015

主机名版本也可以在子域或主要部分中包含数字。并且两个端口总是有5个数字。

我目前已经得到了这个但它只适用于ip:端口而不是主机名。

([0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}:[0-9]{5})|([a-z].[a-z].[a-z]:[1-9]{5})

谢谢,如果你能提供帮助。

3 个答案:

答案 0 :(得分:4)

已更新:

尝试:

[^\:]+:[0-9]{5}

动态匹配两者:

103.18.138.27:27015
gost.gflclan.com:27015
很少解释:

 [^\:]+ --- |> all chars till ':' 
   :
 [0-9]{5} --|> exactly 5 numbers

答案 1 :(得分:1)

代码更清晰:

(([0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3})|(\w*.\w*.\w*)):[0-9]{5}

答案 2 :(得分:0)

Live demo

您忘记了+之后的[a-z],并且必须转义该点:

([0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\:[0-9]{5})|([a-z]+\.[a-z]+\.[a-z]+\:[0-9]{5})