Value ACL_NAME (\S+) Value ACL_TOT_ELEM (\d+) Value ACL_NAME_HASH (0x\w+) Value USER (\S+) Value REMARK (.+?) Value USER_GROUP (\S+) Value SRC_SERVICE (\S+) Value TYPE (standard|extended) Value LINE_NUM (\d+) Value ACTION (permit|deny) Value PROTOCOL ([a-z0-9]+) Value SOURCE (\S+) Value ACE_STATE (inactive) Value SVC_OBJECT_GRP (\S+) Value SVC_OBJECT (\S+) Value SRC_INTFC (\S+) Value SRC_OBJECT_GRP (\S+) Value SECURITY_GROUP (\S+) Value SRC_OBJECT (\S+) Value SRC_HOST (\d+\.\d+\.\d+\.\d+) Value SRC_V6HOST ([0-9a-f:]+) Value SRC_NETWORK (\d+\.\d+\.\d+\.\d+) Value SRC_V6NETWORK ([0-9a-f:]+) Value SRC_MASK (\d+\.\d+\.\d+\.\d+) Value SRC_V6MASK (\d{1,3}) Value SRC_ANY (any[46]{0,1}) Value DST_INTFC (\S+) Value DST_OBJECT_GRP (\S+) Value DST_OBJECT (\S+) Value DST_HOST (\d+\.\d+\.\d+\.\d+) Value DST_V6HOST ([0-9a-f:]+) Value DST_NETWORK (\d+\.\d+\.\d+\.\d+) Value DST_V6NETWORK ([0-9a-f:]+) Value DST_MASK (\d+\.\d+\.\d+\.\d+) Value DST_V6MASK (\d{1,3}) Value DST_ANY (any[46]{0,1}) Value DST_PORT (\S+) Value DST_PORT_LESS_THAN (\S+) Value DST_PORT_GREATER_THAN (\S+) Value DST_PORT_RANGE_START (\S+) Value DST_PORT_RANGE_END (\S+) Value DST_PORT_GRP (1|2|3|4|5|5|5) Value DST_PORT_OBJECT (\S+) Value DST_ICMP_TYPE ((?!log|time|inactive)\S+) Value SRC_SECURITY_GROUP (\S+) Value SRC_SECURITY_GROUP_NAME (\S+) Value DST_SECURITY_GROUP_NAME (\S+) Value DST_SECURITY_GROUP (\S+) Value SRC_SECURITY_GROUP_TAG (\S+) Value DST_SECURITY_GROUP_TAG (\S+) Value HIT_COUNT (\d+) Value LINE_HASH (0x\w+) Value DST_SERVICE (\S+) Value LOG_LEVEL ([a-z0-9]+) Value LOG_INTERVAL (\d+) Value TIME_RANGE (\S+) Value ENTRY_PORT ([a-z\-]+\s+\d+|[\w\-]+) Value ENTRY_PORT_LESS_THAN ([a-z\-]+\s+\d+|\w+) Value ENTRY_PORT_GREATER_THAN ([a-z\-]+\s+\d+|\w+) Value ENTRY_PORT_RANGE_START ([a-z\-]+\s+\d+|\w+) Value ENTRY_PORT_RANGE_END ([a-z\-]+\s+\d+|\w+) Value ICMP_KEY_VALUE (alternate-address|conversion-error|echo|echo-reply|information-reply|information-request|mask-reply|mask-request|mobile-redirect|parameter-problem|redirect|router-advertisement|router-solicitation|source-quench|time-exceeded|timestamp-reply|timestamp-request|traceroute|unreachable|\d{1,3}) Value ICMP_VALUE (\d+) Value SRC_SERVICE_OBJECT_GROUP (\S+) Value SRC_PORT (\S+) Value SRC_PORT_LESS_THAN (\S+) Value SRC_PORT_GREATER_THAN (\S+) Value SRC_PORT_RANGE_START (\S+) Value SRC_PORT_RANGE_END (\S+) Value SRC_PORT_GRP (\S+) Value SRC_PORT_OBJECT (\S+) Value RAW_LINE (.*) Start ^access\-list\s+cached\s+ACL* -> NoRecord ^\s+alert\-interval* -> NoRecord ^\s+access\-list\s* -> NoRecord ^access-list\s+${ACL_NAME}\s+line\s+${LINE_NUM}\s+remark\s+${REMARK}\s*$$ -> Record ^access\-list\s+${ACL_NAME};\s+${ACL_TOT_ELEM}\s+elements;\s+name\s+hash:\s+${ACL_NAME_HASH}\s* -> Record ^access\-list\s+${ACL_NAME}\s+line\s+${LINE_NUM}\s+${TYPE}\s+${ACTION}\s+(${PROTOCOL}|object\s+${SVC_OBJECT}|object\-group\s+${SVC_OBJECT_GRP}+)\s+(user\s+${USER}\s+|object\-group\-user\s+${USER_GROUP}\s+){0,1}(object\-group\-security\s+${SRC_SECURITY_GROUP_NAME}\s+){0,1}(${SRC_V6HOST}|${SRC_V6NETWORK}\/${SRC_V6MASK}|interface\s+${SRC_INTFC}|object\-group\s+${SRC_OBJECT_GRP}|object\s+${SRC_OBJECT}|host\s+${SRC_HOST}|${SRC_NETWORK}\s+${SRC_MASK}|${SRC_ANY})\s+((eq\s+${SRC_PORT}|lt\s+${SRC_PORT_LESS_THAN}|gt\s+${SRC_PORT_GREATER_THAN}|range\s+${SRC_PORT_RANGE_START}\s+${SRC_PORT_RANGE_END}|object\-group\s+${SRC_PORT_GRP}|object\s+${SRC_PORT_OBJECT})\s+){0,1}(object\-group\-security\s+${DST_SECURITY_GROUP}\s+){0,1}(interface\s+${DST_INTFC}|object\-group\s+${DST_OBJECT_GRP}|object\s+${DST_OBJECT}|host\s+${DST_HOST}|${DST_V6HOST}|${DST_V6NETWORK}\/${DST_V6MASK}|${DST_NETWORK}\s+${DST_MASK}|${DST_ANY})\s+((eq\s+${DST_PORT}|lt\s+${DST_PORT_LESS_THAN}|gt\s+${DST_PORT_GREATER_THAN}|range\s+${DST_PORT_RANGE_START}\s+${DST_PORT_RANGE_END}|object\-group\s+${DST_PORT_GRP}|object\s+${DST_PORT_OBJECT})\s+){0,1}(${ICMP_KEY_VALUE}(\s+${ICMP_VALUE})?\s+){0,1}((log\s+(${LOG_LEVEL}\s+interval\s+${LOG_INTERVAL}|disable|default))\s+){0,1}(time\-range\s+${TIME_RANGE}\s+){0,1}(${ACE_STATE}\s+){0,1}\(hitcnt=${HIT_COUNT}\)\s+(\(inactive\)\s+){0,1}${LINE_HASH}\s* -> Continue ^${RAW_LINE} -> Record ^.* -> Error "Did not match any rules"