我正在用python构建一个网络自动化脚本,遇到了一个不知道如何解决的问题。
CPE-MGT {
instance-type virtual-router;
interface ge-0/0/0.0;
routing-options {
static {
route 192.168.253.115/32 next-hop 192.168.100.1;
route 0.0.0.0/0 next-hop 192.168.100.1;
}
}
}
DATA {
instance-type virtual-router;
interface ge-0/0/1.0;
}
MGMT_BK {
instance-type virtual-router;
interface ge-0/0/2.0;
routing-options {
static {
route 192.168.253.115/32 next-hop 192.168.100.1;
route 0.0.0.0/0 next-hop 192.168.100.1;
}
}
}
我需要获取名称,在那里我找到具体主键接口的名称;或许我给予一个例子会更清楚。
我有一个正则表达式,它查看文本并发现ge-0/0/0.0现在在文本中;我不知道的是如何获得CPE-MGT。
cmd = net_connect.send_command(
juniper_cmds["sh_routing_instance"])
logger.debug(f'{ip_dict[config_dict["csv_ip_colum"]][ips]}:Device routing instances {cmd}')
regex_routing_instance = re.compile(f'{interface[0]}')
routing_instance = regex_routing_instance.findall(cmd)```
1条答案
按热度按时间ia2d9nvy1#
可以使用两种模式和提供递归的
regex
模块:这将产生
这里有两个注意事项:内部搜索实际上不需要正则表达式,因为它是一个静态字符串和两个字符串-可能使用解析器解决方案代替。
参见a demo for the expression on regex101.com。