• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    匹配 IP 地址与域名的正则表达式

    一个完整的域名,由根域、顶级域、二级、三级……域名构成,每级域名之间用点分开,每级域名由字母、数字和减号构成(第一个字母不能是减号),不区分大小写,长度不超过63。

    单独的名字可以由正则表达式[a-zA-Z0-9][-a-zA-Z0-9]{0,62}来匹配,而完整的域名至少包括两个名字(比如google.com,由google和com构成),最后可以有一个表示根域的点(在规范中,最后有一个点的才是完整域名,但一般认为包括两个以上名字的域名也是完整域名,哪怕它后面没有点)。

    匹配完整域名的正则表达式:

    复制代码 代码如下:

    [a-zA-Z0-9][-a-zA-Z0-9]{0,62}(\.[a-zA-Z0-9][-a-zA-Z0-9]{0,62})+\.?

    一个IP字串,由四段组成,每一段是0~255的数字,段与段之间用小数点隔开,比如61.139.2.69就是一个合法的IP字串。

      如果正则表达式写成\d{1,3}(\.\d{1,3}){3}无疑是不负责的,因为它可以匹配300.400.555.666这样的非法IP字串。

      要匹配一个0~255之间的数,有几种匹配方式,下面是其中一种:

    匹配 正则表达式 说明

      0~9 \d 单个数字
      10~99 [1-9]\d 两位数
      100~199 1\d\d 百位为1的三位数
      200~249 2[0-4]\d 三位数,百位是2,十位是0~9
      250~255 25[0-5] 三位数,百位是2,十位是5,个位是0~5

      写成正则表达式,即:(\d|([1-9]\d)|(1\d\d)|(2[0-4]\d)|(25[0-5])),但是这样的正则表达式在匹配254这样的字串时,会分别匹配2、5、4,得到3个匹配,达不到预期效果,正确做法是将次序颠倒为((25[0-5])|(2[0-4]\d)|(1\d\d)|([1-9]\d)|\d),因为在(xxx|yyy)这种匹配行为中,是从左向右搜索的。

      完整的正则表达式是: 

     

    复制代码 代码如下:

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

      按:

      象061这样的高位为0的数是不能被匹配的。

    因此,最上面(1. 部分)的写法才是正确完整版的,(2. 部分)的写法较为片面

    您可能感兴趣的文章:
    • Shell正则表达式验证IP地址
    • javascript正则表达式模糊匹配IP地址功能示例
    • IP地址正则表达式匹配方法
    • Shell脚本中通过正则表达式匹配IP地址
    • javascript使用正则表达式检测IP地址
    • Python正则表达式匹配ip地址实例
    • C#正则表达式分解和转换IP地址实例(C#正则表达式大全 c#正则表达式语法)
    • php中获取指定IP的物理地址的代码(正则表达式)
    • javascript 获取链接文件地址中第一个斜线内的正则表达式
    • js:校验IPv6地址的正则表达式
    • 正则表达式验证IPV4地址功能实例分析
    上一篇:正则表达式截取字符串的方法技巧
    下一篇:Java正则表达式基础入门知识
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    匹配 IP 地址与域名的正则表达式 匹配,地址,与,域名,的,正则,