需要调整使用正则表达式从作业输出中提取IP地址的Excel函数

耶曼德

我的工作输出看起来像这样...


Node number 1 (172.xxx.123.210):
ERROR: Cannot download Running config: Connection Refused by 172.xxx.123.210

Node number 2 (172.xxx.124.162):
ERROR: Cannot download Running config: Connection Refused by 172.xxx.124.162

我想处理失败的括号中的那些IP地址。我已经拼凑了一个VB函数,其中包含一个正则表达式来提取IP,它的运行效果很好。不过要注意的^.*\((\d.*)\),正则表达式正在括号内寻找一系列字符,例如...

Node number 1 (172.123.123.210):

当我在不包含方括号的行上调用该函数时,它只会返回零。我没有信誉点可允许我发布图像,因此如果您喜欢查看输出,可以快速尝试!

如果括号中没有IP,我不想返回零,我希望它只是将单元格留空。关于如何调整功能来执行此操作的任何建议?

这是我正在使用的功能...

Function getIP(info As String)

Dim allMatches As Object
Dim RE As Object
Set RE = CreateObject("vbscript.regexp")

RE.Pattern = "^.*\((\d.*)\)"
RE.Global = True
RE.IgnoreCase = True

Set allMatches = RE.Execute(info)

If (allMatches.Count <> 0) Then
    result = allMatches.Item(0).SubMatches.Item(0)

End If

getIP = result
End Function
Wightboy

我发现使用两种正则表达式模式可以识别带括号或不带括号的IP地址:

Private Sub CommandButton1_Click()

Set regEx = CreateObject("vbscript.regexp")
Set regEx2 = CreateObject("vbscript.regexp")

regEx.Global = True
regEx.IgnoreCase = True
regEx.Pattern = "\(([0-9]{3}).([0-9]{3}).([0-9]{3}).([0-9]{3})\)"
regEx2.Global = True
regEx2.IgnoreCase = True
regEx2.Pattern = "([0-9]{3}).([0-9]{3}).([0-9]{3}).([0-9]{3})"

For i = 1 To UsedRange.Rows.Count
    Set allMatches = regEx.Execute(Cells(i, 1).Value)
    Set otherMatches = regEx2.Execute(Cells(i, 1).Value)
    If allMatches.Count <> 0 Then
        Cells(i, 1).Interior.ColorIndex = 33
    End If
    If otherMatches.Count <> 0 Then
        Cells(i, 1).Interior.ColorIndex = 33
    End If
Next i

End Sub

这将遍历第1列,在该列中我写了一些IP地址,并突出显示所有有效IP地址(带或不带括号),并将所有非IP地址留空。

我发现在将两个版本的正则表达式都包含OR时不起作用,并且我不确定为什么,也许与定括号有关吗?

希望您觉得这个有帮助。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

正则表达式从行中提取IP地址

来自分类Dev

使用正则表达式从地址中提取数字

来自分类Dev

在Linux Shell中使用正则表达式从文本中提取IP地址和CIDR

来自分类Dev

使用grep提取IP地址的正则表达式

来自分类Dev

正则表达式从js代码中提取地址

来自分类Dev

如何使用正则表达式和Notepad ++从日志的字符串中提取IP地址

来自分类Dev

Python - 从 snmp walk 输出中提取 IP 和掩码的正则表达式

来自分类Dev

Java-使用正则表达式从requestURI中提取电子邮件地址

来自分类Dev

使用正则表达式从字符串中提取电子邮件地址

来自分类Dev

如何使用正则表达式使用Spacy短语匹配器提取IP地址

来自分类Dev

如何使用正则表达式提取源IP地址和信息?

来自分类Dev

需要调整正则表达式

来自分类Dev

使用正则表达式从网页中提取表格

来自分类Dev

使用正则表达式从文本中提取帮助

来自分类Dev

使用正则表达式从网址中提取日期

来自分类Dev

使用正则表达式从网页中提取表格

来自分类Dev

使用正则表达式从列表中提取位置

来自分类Dev

使用正则表达式从objdump提取地址和函数调用

来自分类Dev

从函数中提取表达式的正则表达式?

来自分类Dev

正则表达式仅从文本中提取IPv4地址

来自分类Dev

正则表达式从地址中提取邮政编码

来自分类Dev

正则表达式仅从文本中提取IPv4地址

来自分类Dev

正则表达式:从地址中提取门牌号

来自分类Dev

Java需要正则表达式从字符串中提取周数

来自分类Dev

为了从输入中提取S {} fAct,我需要什么正则表达式?

来自分类Dev

Python:从行中提取句子-根据条件需要正则表达式

来自分类Dev

需要正则表达式从python字典中提取字符

来自分类Dev

Python:匹配多个正则表达式模式之一,如果匹配则提取IP地址

来自分类Dev

正则表达式从字符串中提取IP和端口

Related 相关文章

  1. 1

    正则表达式从行中提取IP地址

  2. 2

    使用正则表达式从地址中提取数字

  3. 3

    在Linux Shell中使用正则表达式从文本中提取IP地址和CIDR

  4. 4

    使用grep提取IP地址的正则表达式

  5. 5

    正则表达式从js代码中提取地址

  6. 6

    如何使用正则表达式和Notepad ++从日志的字符串中提取IP地址

  7. 7

    Python - 从 snmp walk 输出中提取 IP 和掩码的正则表达式

  8. 8

    Java-使用正则表达式从requestURI中提取电子邮件地址

  9. 9

    使用正则表达式从字符串中提取电子邮件地址

  10. 10

    如何使用正则表达式使用Spacy短语匹配器提取IP地址

  11. 11

    如何使用正则表达式提取源IP地址和信息?

  12. 12

    需要调整正则表达式

  13. 13

    使用正则表达式从网页中提取表格

  14. 14

    使用正则表达式从文本中提取帮助

  15. 15

    使用正则表达式从网址中提取日期

  16. 16

    使用正则表达式从网页中提取表格

  17. 17

    使用正则表达式从列表中提取位置

  18. 18

    使用正则表达式从objdump提取地址和函数调用

  19. 19

    从函数中提取表达式的正则表达式?

  20. 20

    正则表达式仅从文本中提取IPv4地址

  21. 21

    正则表达式从地址中提取邮政编码

  22. 22

    正则表达式仅从文本中提取IPv4地址

  23. 23

    正则表达式:从地址中提取门牌号

  24. 24

    Java需要正则表达式从字符串中提取周数

  25. 25

    为了从输入中提取S {} fAct,我需要什么正则表达式?

  26. 26

    Python:从行中提取句子-根据条件需要正则表达式

  27. 27

    需要正则表达式从python字典中提取字符

  28. 28

    Python:匹配多个正则表达式模式之一,如果匹配则提取IP地址

  29. 29

    正则表达式从字符串中提取IP和端口

热门标签

归档