`
^((?P<mode>[^:]+):\s)?in:(?P<InputInterface>[^,]+)\s+out:(?P<OutputInterface>[^,]+),\sconnection-state:(?P<ConnectionState>[^\s]+)\s+(?:src-mac\s+(?P<SourceMacAddress>[^,]+),\s+)?proto\s+(?P<Protocol>\w+)(?:\s+\((?P<Flags>[^)]+)\))?,\s+\[?(?P<SourceAddress>\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}|[a-f\d:]+)\]?(?::(?P<SourcePort>\d+))?->\[?(?P<DestinationAddress>\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}|[a-f\d:]+)\]?(?::(?P<DestinationPort>\d+))?,\s(NAT\s?\[?(?P<NatSourceAddress>\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}|[a-f\d:]+)\]?(?::(?P<NatSourcePort>\d+))?->\(\[?(?P<NatExternalAddress>\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}|[a-f\d:]+)\]?(?::(?P<NatExternalPort>\d+))?->\[?(?P<NatInternalAddress>\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}|[a-f\d:]+)\]?(?::(?P<NatInternalPort>\d+))?\),\s)?len\s+(?P<Length>\d+)
`
gm