gpt4 book ai didi

php - Cisco 在 php 脚本中显示 dmvpn 正则表达式更改正则表达式

转载 作者:搜寻专家 更新时间:2023-10-31 22:06:53 25 4
gpt4 key购买 nike

查询 cisco 路由器以从分支中心路由器中提取“show dmvpn”输出的脚本。然而,我们升级了一个集线器路由器,新的 IOS 现在显示“show dmvpn”命令的日期/时间信息。以前的 IOS 版本只显示“从不”,并且由于 (\S+) only 而在使用脚本时会为较新的 IOS 路由器抛出错误。

我尝试阅读正则表达式,但无法弄清楚如何加入 [3x] 字/日期/时间。

工作:

if(pregmatch("/^\s+\d+\s+(\d+\.\d+\.\d+\.\d+)\s+(\d+\.\d+\.\d+\.\d+)\s+(\S+)\s+(\S+)\s+(\S+)/",$line,$hit))


#show dmvpn
# Ent Peer NBMA Addr Peer Tunnel Add State UpDn Tm Attrb
----- --------------- --------------- ----- -------- -----
1 192.168.1.1 42.10.10.10 UP **never** DN
1 192.168.1.1 42.10.10.10 UP **never** DN
1 192.168.1.1 42.10.10.10 UP **never** DN

不工作:正则表达式在更新的 IOS 上失败,实际上显示上行/下行隧道计时器的日期/时间:

#show dmvpn
# Ent Peer NBMA Addr Peer Tunnel Add State UpDn Tm Attrb
----- --------------- --------------- ----- -------- -----
1 192.168.1.1 42.10.10.10 UP **08:59:16** DN
1 192.168.1.1 42.10.10.10 UP **04:11:24** DN
1 192.168.1.1 42.10.10.10 UP **2d13h** DN
1 192.168.1.1 42.10.10.10 UP **3w0d** DN
1 192.168.1.1 42.10.10.10 UP **5d00h** DN

我假设我需要在代码中倒数第二个 (\S+) 旁边添加 (\d+:\d+:\d+) 但不确定如何加入它们,并将 3w0d 和 5d00h 包含在也有。

这似乎是一个简单的正则表达式修复,但目前超出了我的编码范围。我也尝试寻找答案,但每个人都对“正则表达式”和“正则表达式”使用不同的术语

最佳答案

如果您处于隧道模式,则您的正则表达式仅假设与行匹配:$tunnel_int = TRUE但是你给我们的代码示例不包含以“Tunnel”开头的字符串,所以你不是在隧道模式下传递,所以你永远不会尝试匹配正则表达式。这就是为什么即使正则表达式正确,脚本也无法正常工作。

你的问题是算法问题,不是正则表达式问题。但是由于我们不知道您正在尝试做什么以及您正在尝试测试什么,因此很难提供帮助。

如果您不具备维护此功能的开发人员技能,也许您应该寻求自由开发人员的帮助,以帮助您了解您的需求并调整代码。

如果您有更具体的信息,那么您可以就某个主题寻求更精确的帮助。

祝你的项目好运。

关于php - Cisco 在 php 脚本中显示 dmvpn 正则表达式更改正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17131355/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com