Value INTERFACE (\S+\s+\d+\s*/\s*\d+)
Value NAME (.*?)
Value STATUS (Up|Down|Disabled)
Value VLAN_ID (\d+)
Value PRIORITY (\d+)
Value NEGOTIATION (Auto)
Value SPEED (\d+)
Value DUPLEX (half|full)
Value TYPE (.*?)
Value TRUNK (\S+)

Start
  ^\s*Interface\s+Name\s+Status\s+PVID\s+Pri\s+Speed/Duplex\s+Type\s+Trunk\s*$$ -> IfacesTable
  ^\s*$$
  ^. -> Error

IfacesTable
  ^(?:\s*-+)+\s*$$
  ^\s*${INTERFACE}(?:\s+${NAME})?\s+${STATUS}\s+${VLAN_ID}\s+${PRIORITY}\s+(?:${NEGOTIATION})?-?(?:${SPEED}${DUPLEX})?\s+${TYPE}\s+${TRUNK}\s*$$ -> Record
  ^\s*$$
  ^. -> Error
