如何为show vlan编写reg ex

2024-04-24 04:49:01 发布

您现在位置:Python中文网/ 问答频道 /正文

下面是我的一个尝试,但它没有得到正确的结果。在我的“文本”文件中还有很多,但我想获得vlan和端口: 尝试使用Python:

([\d])+\W+[a-zA-Z]+\W+[A-Za-z]+\W+|[\w+]+([\d])/([\d])    

输出:

Vlan 1 Et0/1
Vlan 1 Et0/3
Vlan 1 Et0/4
Vlan 1 Et0/5
Vlan 1 Et0/6
Vlan 1 Et0/7
Vlan 2 Et0/0
Vlan 3 Et0/2

从这个。。。。。。在

^{pr2}$

Tags: 文件端口文本vlanzapr2et0
2条回答

这里的挑战是每个VLAN之间没有明确的分隔符。但是,如果我们可以假设VLAN的状态始终是up,那么可以通过编程方式将输出组合在一起,如下所示:

vlan_id = 0
for vlan in txt.split('up'):
    for port in re.findall(r'(Et\d/\d)', vlan):
        print('Vlan {} {}'.format(vlan_id, port))
    vlan_id += 1

您可以尝试使用此正则表达式来捕获vlan_number和{}

(?m)^(\d+)|(Et\d+\/\d+)

Demo

在python中

^{pr2}$

输出

VLAN 1 Et0/1
VLAN 1 Et0/3
VLAN 1 Et0/4
VLAN 1 Et0/5
VLAN 1 Et0/6
VLAN 1 Et0/7
VLAN 2 Et0/0
VLAN 3 Et0/2

编辑了以查看输入文本变量"ss" value,这在我之前对readability的回答中被排除了。在

相关问题 更多 >