为了账号安全,请及时绑定邮箱和手机立即绑定

与DNS主机名或IP地址匹配的正则表达式?

与DNS主机名或IP地址匹配的正则表达式?

HUX布斯 2019-06-03 10:31:16
与DNS主机名或IP地址匹配的正则表达式?是否有一个与合法DNS主机名或IP地址相匹配的正则表达式?它很容易写一个95%的时间,但我希望得到的东西,很好地测试,完全符合最新的RFC规格的DNS主机名。
查看完整描述

4 回答

?
临摹微笑

TA贡献1982条经验 获得超2个赞

主机名regex斯明克没有观察到主机名中单个标签长度的限制。有效主机名中的每个标签可能不超过63位字节长。

ValidHostnameRegex="^([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]{0,61}[a-zA-Z0-9])\
(\.([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]{0,61}[a-zA-Z0-9]))*$"

请注意,第一行(上面)末尾的反斜杠是用于分割长行的Unixshell语法。它不是正则表达式本身的一部分。

下面仅仅是单行上的正则表达式:

^([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]{0,61}[a-zA-Z0-9])(\.([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]{0,61}[a-zA-Z0-9]))*$

您还应该单独检查主机名的总长度不得超过255个字符。..欲了解更多信息,请咨询RFC-952和RFC-1123。


查看完整回答
反对 回复 2019-06-03
?
MYYA

TA贡献1868条经验 获得超4个赞

匹配有效的IP地址使用以下正则表达式:

(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)(\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}

而不是:

([01]?[0-9][0-9]?|2[0-4][0-9]|25[0-5])(\.([01]?[0-9][0-9]?|2[0-4][0-9]|25[0-5])){3}

解释

许多regex引擎匹配OR顺序。例如,尝试以下regex:

10.48.0.200

试验

检验.之间的差异好的VS坏的


查看完整回答
反对 回复 2019-06-03
  • 4 回答
  • 0 关注
  • 3711 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信