wlee1991

如何优雅地使用 RegExp 匹配 IP 地址~

  •  
  •   wlee1991 · Sep 15, 2015 · 3306 views
    This topic created in 4068 days ago, the information mentioned may be changed or developed.
    17 replies  •  2015-09-16 01:21:32 +08:00
    learnshare
    learnshare
    Sep 15, 2015
    1
    IPv4 `/^(((25[0-5])|(2[0-4]\d )|(1?\d{1,2}))\.){3}((25[0-5])|(2[0-4]\d )|(1?\d{1,2}))$/`
    https://jex.im/regulex/#!embed=false&flags=&re=%5E (((25%5B0-5%5D )%7C (2%5B0-4%5D%5Cd )%7C (1%3F%5Cd%7B1%2C2%7D ))%5C.)%7B3%7D ((25%5B0-5%5D )%7C (2%5B0-4%5D%5Cd )%7C (1%3F%5Cd%7B1%2C2%7D ))%24
    learnshare
    learnshare
    Sep 15, 2015
    2
    手动复制第二行开始至结尾的 URL
    wlee1991
    wlee1991
    OP
    Sep 15, 2015
    3
    this one really ... sucks ...

    (\\d{1}|[1-9]{1}\\d{1}|1{1}\\d{1}\\d{1}|2{1}[0-5]{1}[0-5]{1})\\.(\\d{1}|[1-9]{1}\\d{1}|1{1}\\d{1}\\d{1}|2{1}[0-5]{1}[0-5]{1})\\.(\\d{1}|[1-9]{1}\\d{1}|1{1}\\d{1}\\d{1}|2{1}[0-5]{1}[0-5]{1})\\.(\\d{1}|[1-9]{1}\\d{1}|1{1}\\d{1}\\d{1}|2{1}[0-5]{1}[0-5]{1})
    wlee1991
    wlee1991
    OP
    Sep 15, 2015
    4
    @learnshare
    复制了,貌似不起作用?怎么那么多%?
    learnshare
    learnshare
    Sep 15, 2015
    5
    直接去 https://jex.im/regulex/ 填入下面这一行吧
    /^(((25[0-5])|(2[0-4]\d )|(1?\d{1,2}))\.){3}((25[0-5])|(2[0-4]\d )|(1?\d{1,2}))$/
    Ryans
    Ryans
    Sep 15, 2015
    6
    ([0-9]{1,3}[\.]){3}[0-9]{1,3}
    wlee1991
    wlee1991
    OP
    Sep 15, 2015
    7
    @Ryans 不能大于 255
    18000rpm
    18000rpm
    Sep 15, 2015
    8
    写正则不分行不给注释叫优雅?
    learnshare
    learnshare
    Sep 15, 2015
    9
    @18000rpm 不是给了图形化的展示了么
    18000rpm
    18000rpm
    Sep 15, 2015
    10
    @learnshare 只是觉得一行流的正则以后改起来太麻烦
    https://gist.github.com/19000/52aa3be750d551b1f011
    gamexg
    gamexg
    Sep 15, 2015
    11
    很不优雅, IPv4 的还好, IPv6 的好长。

    https://github.com/GameXG/TcpRoute/blob/master/dnslib/__init__.py#L34
    wlee1991
    wlee1991
    OP
    Sep 15, 2015
    12
    @18000rpm 感觉你这个还可以 25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?
    18000rpm
    18000rpm
    Sep 15, 2015
    13
    @wlee1991 我只是在网上复制了一个来加了几个注释哈哈
    msg7086
    msg7086
    Sep 15, 2015
    14
    优雅地匹配 IP 最好别用正则而是用库。
    ob
    ob
    Sep 15, 2015 via Android
    15
    优雅被用坏了。。😃
    virusdefender
    virusdefender
    Sep 15, 2015
    16
    django 的正则

    ipv4_re = re.compile (r'^(25[0-5]|2[0-4]\d|[0-1]?\d?\d )(\.(25[0-5]|2[0-4]\d|[0-1]?\d?\d )){3}\Z')
    wlee1991
    wlee1991
    OP
    Sep 16, 2015
    17
    @virusdefender 你这个...貌似也不怎么优雅呀...
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   2570 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 92ms · UTC 14:48 · PVG 22:48 · LAX 06:48 · JFK 09:48
    ♥ Do have faith in what you're doing.