从TextFSM的末尾匹配字符串

时间:2019-06-28 13:10:15

标签: networking python-textfsm

想要从行尾到空白的匹配输出

netmgmt @ CCC-CC-CCC-RE1>显示lldp邻居 本地接口父接口机箱ID端口信息系统名称 xe-11 / 3/0 ae2 00:23:9c:d5:7f:c0 295 BAZ-CPR01-RE1
xe-10 / 3/0 ae2 00:23:9c:d5:7f:c0 306 BAZ-CPR01-RE1
xe-8 / 3/0 ae1 00:23:9c:dd:a7:c0 xe-10 / 3/0 UKW-CPR02-RE1
xe-9 / 3/0 ae1 00:23:9c:dd:a7:c0 xe-11 / 3/0 UKW-CPR02-RE1

我不能使用左字符串进行正则表达式匹配,因为我可能在端口信息选项卡中看到空格,所以我试图从末尾进行匹配。

我相信$我在这里使用的结尾可能与$ {variable}相匹配并引起问题。

我使用regex101.com并能够使用((\ S + \ s +)$)

匹配行中的最后一个单词

Value List local_interface (\S+)
Value ae_interface (\S+)
Value lldp_device ((\S+\s+)$)

Start
  ^Local.*Name -> LLDP

LLDP
  ^${local_interface}\s+${ae_interface}\s+${lldp_device} -> Record

预期:BAZ-CPR01-RE1 BAZ-CPR01-RE1 UKW-CPR02-RE1 UKW-CPR02-RE1

结果:[]

1 个答案:

答案 0 :(得分:1)

您必须为此使用$$。

要表示行尾(EOL),请使用双美元符号'$$', 价值期间将用一个美元符号代替 替代。

https://github.com/google/textfsm/wiki/TextFSM