【发布时间】:2014-03-21 20:58:42
【问题描述】:
我正在尝试确定我在 cisco 路由器上放置的命令是否在以下输出中只有邻居条目..
我有以下正则表达式 .. 如果搜索到末尾并且找不到第二个匹配项,如何让搜索失败?
if (! $document =~/(Device\sID)(.*?)(Device\sID)/s){
print("Theres no double entries\n");
} else {
print ("double!\n");
}
Device ID: NAME1
Entry address(es):
IP address: IP.IP.IP.IP
Plautform: cisco WS-C3850-48T, Capabilities: Switch IGMP
Interface: GigabitEthernet1/x, Port ID (outgoing port): GigabitEthernetx/x/x
Holdtime : 123 sec
Version :
Cisco IOS Software, IOS-XE Software, Catalyst L3 Switch Software (CAT3K_CAA-UNIVERSALK9-M), Version 03.02.03.SE RELEASE SOFTWARE (fc2)
Technical Support: http://www.cisco.com/techsupport
Copyright (c) 1986-2013 by Cisco Systems, Inc.
Compiled Mon 23-Sep-13 18:24 by prod_rel_team
advertisement version: 2
VTP Management Domain: 'NAME1'
Native VLAN: 1
Duplex: full
Management address(es):
IP address: IP.IP.IP.IP
问候, 彼得
【问题讨论】:
-
嘿彼得,重读你的问题的第一句话,也许重做它? "...在以下输出中只有邻居条目.." 你能举一个例子,说明某处是双精度,而某处没有双精度吗?如果您试图查看是否有重复的设备 ID,那么最简单的解决方案就是将它们全部拉出,然后查找重复项。但就目前的情况而言,对于给定的数据和问题,您的目标是什么尚不清楚。
-
嗨。你能提供一个测试条件和一个输出吗?另外我认为从
if中去掉!并交换if和else的主体会更好。我不明白搜索失败的意思。