使用TestFSM Python解析Record命令的问题

问题描述

我正在尝试使用TestFSM解析某些ALU配置,但是使用Record命令时遇到问题。这是我需要解析的输出

       policy-statement "POLICY-1"
            entry 20
                description "allow IPv4"
                from
                    community expression "[EGE-P9] OR [DATA]"
                exit
                action accept
                exit
            exit
        exit
        policy-statement "POLICY-2"
            entry 5
                from
                    prefix-list "DEFAULT-ROUTE"
                exit
                action accept
                    community add "EXTRA1" "SGNN" "MMTS"
                exit
            exit
            default-action drop
            exit
        exit
        policy-statement "POLICY-3"
            entry 15
                from
                    protocol bgp bgp-label
                exit
                action accept
                    community add "EXTRA2" "SGNN" "MMTS"
                exit
            exit
            entry 20
                action accept
                    community "SGNN"
                exit
            exit
        exit

这是我的TextFSM模板:

Value Filldown Policy (.*)
Value List Community (.*)

Start
  ^\s+policy-statement\s+${Policy} -> Record
  ^  \S \S\S -> Continue.Record 
  ^\s+community add\s+${Community} 
  ^\s+community expression\s+${Community}
  ^\s+community\s+${Community}

然后我得到了这些字符串:

['Policy','Community']
['"POLICY-1"',[]]
['"POLICY-2"',['"[EGE-P9] OR [DATA]"']]
['"POLICY-3"',['"EXTRA1" "SGNN" "MMTS"']]
['"POLICY-3"',['"EXTRA2" "SGNN" "MMTS"','"SGNN"']]

但是我需要这个输出

['Policy',['"[EGE-P9] OR [DATA]"']]
['"POLICY-2"','"SGNN"']]

请帮助我

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)