Python 使用TextFSM查找主干上允许的VLAN

Python 使用TextFSM查找主干上允许的VLAN,python,regex,ansible,text-parsing,python-textfsm,Python,Regex,Ansible,Text Parsing,Python Textfsm,我正在尝试为NTC ansible设置一个TextFSM模板,它只会从“show interface trunk”命令的输出中提取主干上允许的VLAN,似乎无法得到我想要的。它给了我所有的线,而不是我想要的一条线。命令的输出如下所示: switch#sh int g9/17 trunk Port Mode Encapsulation Status Native vlan Gi9/17 on

我正在尝试为NTC ansible设置一个TextFSM模板,它只会从“show interface trunk”命令的输出中提取主干上允许的VLAN,似乎无法得到我想要的。它给了我所有的线,而不是我想要的一条线。命令的输出如下所示:

switch#sh int g9/17 trunk

Port                Mode         Encapsulation  Status        Native vlan
Gi9/17              on           802.1q         trunking      1

Port                Vlans allowed on trunk
Gi9/17              501,503,513,540,950-957

Port                Vlans allowed and active in management domain
Gi9/17              501,503,513,540,950-957

Port                Vlans in spanning tree forwarding state and not pruned
Gi9/17              501,503,513,540,950-957
Value PORT (\S+)
Value VLANS (.*)

Start
  ^Port.*Vlans allowed on trunk -> Begin

Begin
  ^(?=\s{0,9}${PORT})\s+${VLANS} -> Record
  ^Port.*Vlans allowed and active in management domain -> End
在这个输出中,我只想返回“主干上允许的VLAN”下面的行,而不想返回具有相同信息的其他重复行。我的模板如下所示:

switch#sh int g9/17 trunk

Port                Mode         Encapsulation  Status        Native vlan
Gi9/17              on           802.1q         trunking      1

Port                Vlans allowed on trunk
Gi9/17              501,503,513,540,950-957

Port                Vlans allowed and active in management domain
Gi9/17              501,503,513,540,950-957

Port                Vlans in spanning tree forwarding state and not pruned
Gi9/17              501,503,513,540,950-957
Value PORT (\S+)
Value VLANS (.*)

Start
  ^Port.*Vlans allowed on trunk -> Begin

Begin
  ^(?=\s{0,9}${PORT})\s+${VLANS} -> Record
  ^Port.*Vlans allowed and active in management domain -> End

使正则表达式更加具体,并获得所需的结果(可能:)