我目前正在写一个excel宏,而且我有一些真正的麻烦与我的具体要求。正则表达式匹配任何IP不在内部范围内
我需要遍历细胞,发现这是不是在私人范围内的任何IP地址,
10.0.0.0 – 10.255.255.255
172.16.0.0 – 172.31.255.255
192.168.0.0 – 192.168.255.255
我使用的代码:
Dim RE As Object
Set RE = CreateObject("vbscript.regexp")
With RE
.MultiLine = False
.Global = False
.IgnoreCase = True
.Pattern = ??
End With
不具有与该VBA的任何问题代码,只是模式。
真的会爱上正则表达式大师来帮助!
单元格的格式像这样的例子:
192.168.1.1 (subnet name), 203.134.56.7 (third party unknown), 10.0.0.0/8 (voice subnet), 10.1.1.5 (voice server), 56.8.0.0/16 (google)
至于下面的评论,这就是为什么我要寻找一个正则表达式的解决方案,如果有一个,因为它意味着我可以运行它在细胞它仍然应该找到一个第三方IP作为拆分成数组,并通过一个函数运行每个IP。
有些人在遇到问题时会想:“我知道,我会用正则表达式。”现在他们有两个问题。 – 2012-07-11 01:47:11
什么是您的确切数据布局?更简单的方法可能是将IP地址提取为4列,然后测试每个部分是否位于范围内 – brettdj 2012-07-11 10:55:51