fork download
  1. import re
  2. result = r"""Interface Status Protocol Description
  3. BE1 up up
  4. Mg0/RSP0/CPU0/0 up up NNI to Cat2960x G1/0/1
  5. Te0/0/0/3 admin-down admin-down
  6. Gi0/0/1/0 down down Test L2VPN
  7. RP/0/RSP0/CPU0:LAB-9001-1#"""
  8. p1 = re.compile(r'(?P<interface>[a-zA-Z0-9]\S*)\s+(?P<status>up|admin-down)\s+(?P<protocol>up|admin-down)(?:\s+(?P<description>.*))?')
  9.  
  10. for line in result.splitlines():
  11. line = line.rstrip()
  12. m = p1.match(line)
  13. if m:
  14. print(m.groups())
Success #stdin #stdout 0.01s 27712KB
stdin
Standard input is empty
stdout
('BE1', 'up', 'up', None)
('Mg0/RSP0/CPU0/0', 'up', 'up', 'NNI to Cat2960x G1/0/1')
('Te0/0/0/3', 'admin-down', 'admin-down', None)