美文网首页
匹配IPv4地址的正则表达式

匹配IPv4地址的正则表达式

作者: boldcautious | 来源:发表于2018-12-13 19:07 被阅读10次

本文虽然给出了匹配IPv4地址的正则表达式,但是更重要的是提供写正则表达式的一种思路。有时候使用程序而不是正则表达式可能是更好的解决方案。

IPv4地址格式可表示为:XXX.XXX.XXX.XXX,XXX的取值范围是0-255,前三段加一个.重复了三次,再与最后一段合并即组成IPv4地址的完整格式。

重点是将0-255用正则表达式表示,以下分几种方法,来分析解决。

方法1

取值区间 特点 正则写法
0-9 取值是0-9 \d
10-99 十位:1-9,个位:0-9 [1-9]\d
100-199 百位:1,十位:0-9,个位:0-9 1\d{2}
200-249 百位:2,十位:0-4,个位:0-9 2[0-4]\d
250-255 百位:2,十位:5,个位:0-5 25[0-5]

最终结果:
^((\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])\.){3}(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])$

方法2

取值区间 特点 正则写法
0-99 十位:1-9或空,个位:0-9 [1-9]?\d
100-199 百位:1,十位:0-9,个位:0-9 1\d{2}
200-249 百位:2,十位:0-4,个位:0-9 2[0-4]\d
250-255 百位:2,十位:5,个位:0-5 25[0-5]

最终结果:
^(([1-9]?\d|1\d{2}|2[0-4]\d|25[0-5])\.){3}([1-9]?\d|1\d{2}|2[0-4]\d|25[0-5])$

方法3

取值区间 特点 正则写法
0-99及110-199 百位:1或空,十位:1-9或空,个位:0-9 1?[1-9]?\d
100-149及200-249 百位:1或2,十位:0-4,个位:0-9 [1-2][0-4]\d
250-255 百位:2,十位:5,个位:0-5 25[0-5]

最终结果:
^((1?[1-9]?\d|[1-2][0-4]\d|25[0-5])\.){3}(1?[1-9]?\d|[1-2][0-4]\d|25[0-5])$

相关文章

  • 匹配ipv4地址的正则表达式

    本文主要介绍使用正则表达式匹配ipv4地址。 1、粗犷匹配 比较粗犷的匹配方法,直接匹配四组使用了.进行分隔的数字...

  • 匹配IPv4地址的正则表达式

    本文虽然给出了匹配IPv4地址的正则表达式,但是更重要的是提供写正则表达式的一种思路。有时候使用程序而不是正则表达...

  • ipv4合法性验证

    ipv4:合法的ipv4协议的ip地址满足 1-255.0-255.0-255.0-255 因此可以使用正则表达式...

  • js常用正则

    匹配邮箱: 匹配中文: 匹配时间: 匹配IP(IPV4): 匹配身份证号码: 匹配手机号:

  • 正则表达式及常用应用

    1,获取地址栏参数 常用正则表达式大全 匹配中文字符的正则表达式: [\u4e00-\u9fa5]匹配 中文标点符...

  • 常用的正则表达式收集

    如果发现有不能匹配的,请及时告知分享一个正则表达式匹配测试的网站regex101 很好用了 1、匹配mac地址 M...

  • Nginx 匹配规则

    无 :默认匹配,普通匹配 = :精确匹配 ~* :匹配正则表达式,不区分大小写 ~ :匹配正则表达式,区分大小写 ...

  • 2019.8.15分享:正则表达式字符匹配攻略

    一、正则表达式 正则表达式是匹配模式,要么匹配字符,要么匹配位置。 这次分享主要将提下正则表达式字符匹配 • 两种...

  • 2020-07-29 IP 基础知识“全家桶”——「 IPv6

    IPv4 的地址是 32 位的,大约可以提供 42 亿个地址,但是早在 2011 年 IPv4 地址就已经被分配完...

  • python与正则表达式 2020-01-02(未经允许,禁止转

    正则表达式 正则表达式与程序语言无关。正则表达式做匹配实际上就做3件事:【字符匹配】+【次数匹配】+【逻辑匹配】下...

网友评论

      本文标题:匹配IPv4地址的正则表达式

      本文链接:https://www.haomeiwen.com/subject/rombhqtx.html