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

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

是否有一个与合法DNS主机名或IP地址相匹配的正则表达式?

它很容易写一个95%的时间,但我希望得到的东西,很好地测试,完全符合最新的RFC规格的DNS主机名。


HUX布斯
浏览 3638回答 4
4回答

临摹微笑

主机名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。

MYYA

匹配有效的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坏的
打开App,查看更多内容
随时随地看视频慕课网APP