找回密码
 加入
搜索
查看: 2218|回复: 8

[AU3基础] 【已解决】IP地址的C段划分

[复制链接]
发表于 2020-12-7 14:42:52 | 显示全部楼层 |阅读模式
本帖最后由 zhaoceshi 于 2020-12-8 11:50 编辑
$ip = '10.12.5.9'


$ip3 = StringRegExp($ip, '(?<!\d)\d{1,3}\.\d{1,3}\.\d{1,3}(?=\.\d)', 1)

Switch $ip3[0]
        Case '10.12.0' To '10.12.24'
                MsgBox(0, 0, "一楼IP")
        Case '10.13.0' To '10.13.24'
                MsgBox(0, 0, "二楼IP")
        Case '10.13.25' To '10.13.44'
                MsgBox(0, 0, "三楼IP")
        Case '10.13.45' To '10.13.94'
                MsgBox(0, 0, "四楼IP")
        Case Else
                MsgBox(0, 0, "没有匹配到楼层,C段IP是 " & $ip3[0])
EndSwitch
这样执行的结果是都没有匹配的到?怎么样才能根据C段来划分不同的分组?



 楼主| 发表于 2020-12-7 15:02:32 | 显示全部楼层
根据群里的大神提示用用stringsplit解决了,不知道还有没有另外的解决方法
发表于 2020-12-7 15:06:04 | 显示全部楼层
$ip = '10.12.5.90'

$aN = StringRegExp($ip, '\d+', 3)
If UBound($aN) <> 4 Then Exit
Switch StringFormat('%s%03d%03d', $aN[0], $aN[1], $aN[2])
        Case '10012000' To '10012024'
                MsgBox(0, $ip, '一楼IP')
        Case '10013000' To '10013024'
                MsgBox(0, $ip, '二楼IP')
        Case '10013025' To '10013044'
                MsgBox(0, $ip, '三楼IP')
        Case '10013045' To '10013094'
                MsgBox(0, $ip, '四楼IP')
        Case Else
                MsgBox(48, $ip, '没有匹配到楼层')
EndSwitch
 楼主| 发表于 2020-12-7 15:28:51 | 显示全部楼层
 楼主| 发表于 2020-12-7 15:37:36 | 显示全部楼层

对了,A大,如果是10.125.169.99 这种的要怎么转换?我好像输入100125169这种就匹配不到
发表于 2020-12-7 15:39:55 | 显示全部楼层
zhaoceshi 发表于 2020-12-7 15:37
对了,A大,如果是10.125.169.99 这种的要怎么转换?我好像输入100125169这种就匹配不到

每段不足3位左补零
10.125.169.99 > 10125169
 楼主| 发表于 2020-12-7 15:41:21 | 显示全部楼层
afan 发表于 2020-12-7 15:39
每段不足3位左补零
10.125.169.99 > 10125169

这次完全明白了,感谢。
发表于 2020-12-7 15:42:58 | 显示全部楼层
zhaoceshi 发表于 2020-12-7 15:41
这次完全明白了,感谢。

表客气~ 一点就通极好
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-5-17 16:40 , Processed in 0.076432 second(s), 20 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表