正则匹配grep过滤IP

    xiaoxiao2022-06-26  157

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

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

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

     

    10-99

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

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

    所以IP地址的正则表示法如下:^((25[0-5]|2[0-4]\d|((1\d{2})|([1-9]?\d)))\.){3}(25[0-5]|2[0-4]\d|((1\d{2})|([1-9]?\d)))$

     

    或者 "^(([0-9]\.)|([1-9][0-9]\.)|(1[0-9][0-9]\.)|(2[0-4][0-9]) \.)|(25[0-5]\.)){3}(([0-9])|([1-9][0-9])|(1[0-9][0-9])|(2[0-4][0-9])|(25[0-5]))$"


    最新回复(0)