• 1到32 数字正则 还有IP的


    正则是按位解析匹配的,所以[1-32]是不行的。

    解析:
    1、1-32,包含1位数(1-9)和2位数(10-32)
    2、10-32必须切割,10-19和20-29形式一样,得到[12][0-9],30-32有3[012]
    3、因此得到[1-9]|[12][0-9]|3[012]
    4、考虑全匹配,因此得到/^(?:[1-9]|[12][0-9]|3[012])$/,
       ?:表示不捕获匹配,意思就是不保存括号数据
    最终:
    $pattern '/^(?:[1-9]|[12][0-9]|3[012])$/';
     

    IP地址的正则表达式写法

    这里讲的是IPv4的地址格式,总长度 32位=4段*8位,每段之间用.分割, 每段都是0-255之间的十进制数值。

    将0-255用正则表达式表示,可以分成一下几块来分别考虑:

    取值区间 特点 正则写法 可合并的写法 可合并的写法 可合并的写法
    0-9 一位数,只有个位,取值是0~9 d [1-9]?d (1d{2})|([1-9]?d)

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

    10-99

    两位数,十位取值1-9,个位取值是0~9 [1-9]d
    100-199 三位数,最高位取值为1,十位取值0-9,个位取值0-9 1d{2}  -
    200-249 三位数,最高位取值为2,十位取值0-4,个位取值0-9 2[0-4]d  -  -
    250-255 三位数,最高位取值为2,十位取值5,个位取值0-5 25[0-5]  -  -

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

    所以IP地址的正则表示法如下:

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

     
     
     
    好文要顶 关注我 收藏该文  
  • 相关阅读:
    java-集合框架-泛型2-泛型限定
    进程间通信
    多进程编程基础概念
    linux deb 打包流程
    linux RPM 打包流程
    Python 第一個程序
    从注册验证码入手,我保住了30%的流失用户
    为什么Web端登录需要验证码?
    网络验证码的进化:从简单图文到无感验证
    公开课 | 金融知识图谱的应用探索
  • 原文地址:https://www.cnblogs.com/vens/p/8526263.html
Copyright © 2020-2023  润新知