xyx115 发表于 2019-7-23 17:48:21

AU3正则提取IP地址并判断IP地址内外网

本帖最后由 xyx115 于 2019-8-5 13:38 编辑



Local $da1 = StringRegExp('F:\Ecovacs_Wangbao_Date\高级营销\10.90.26.83\2018\07\31\3427', _
                '((2\d|25|?\d\d?)\.){3}(2\d|25|?\d\d?)', 2, 1)
;先提取字符串中存在的IP地址。
Local $da2 = StringRegExp($da1, '((192\.168|172\.(|\d|3))(\.(\d||?\d?\d)){2}|10(\.(\d||?\d?\d)){3})', 2, 1)
;针对提取到的ip地址做内外网检测
If @error Then
      MsgBox(0, '', 'IP地址' & $da1 & '为公网地址')
Else
      MsgBox(0, '', 'IP地址' & $da1 & '为内网地址')
EndIf



如上所示,代码可以提取字符串中存在的IP地址,并检查判断该IP地址属于内网地址还是公网地址。

感谢两位大佬的提醒,代码已修改。

当时提炼的时候没注意,抱歉。

afan 发表于 2019-8-3 13:45:37

gzh888666 发表于 2019-8-3 13:38
兄弟,你这个写法有问题呀!

的确是,LZ的 掉了3处 :face (20):

gzh888666 发表于 2019-8-3 13:38:43

兄弟,你这个写法有问题呀!
Local $da1 = StringRegExp('F:\Ecovacs_Wangbao_Date\高级营销\10.90.26.83\2018\07\31\3427', _
                '((2\d|25|?\d\d?)\.){3}(2\d|25|?\d\d?)', 2, 1)
;先提取字符串中存在的IP地址。
Local $da2 = StringRegExp($da1, '((192\.168|172\.(|\d|3))(\.(\d||?\d?\d)){2}|10(\.(\d||?\d?\d)){3})', 2, 1)
;针对提取到的ip地址做内外网检测
If @error Then
      MsgBox(0, '', 'IP地址' & $da1 & '为公网地址')
Else
      MsgBox(0, '', 'IP地址' & $da1 & '为内网地址')
EndIf

xyx115 发表于 2019-8-5 13:39:28

gzh888666 发表于 2019-8-3 13:38
兄弟,你这个写法有问题呀!

感谢提醒,代码已改。

xyx115 发表于 2019-8-5 13:42:11

afan 发表于 2019-8-3 13:45
的确是,LZ的 掉了3处

感谢提醒,代码已改。
页: [1]
查看完整版本: AU3正则提取IP地址并判断IP地址内外网