从 TextFSM 的末尾开始匹配字符串

match string from end on TextFSM

希望将行尾的输出匹配为白色 space

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

我不能使用左字符串正则表达式匹配,因为我可能会在端口信息选项卡中看到白色 spaces,所以我尝试从末尾开始匹配。

我相信我在这里使用 $ 作为结束,可能与 ${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

结果:[]

您将不得不为此使用 $$。

To indicate the end of line (EOL) use a double dollar sign '$$', this will be substituted for a single dollar sign during Value substitution.

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