Value Required 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 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 (\S+)                                                                                                                    
Value DST_PORT_OBJECT (\S+)                                                                                                                 
Value DST_ICMP_TYPE ((?!log|time|inactive)\S+)
Value SRC_SECURITY_GROUP_NAME (\S+)
Value DST_SECURITY_GROUP_NAME (\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+)


Start                                                          
  ^access\-list\s+cached\s+ACL* -> NoRecord                                                                                   
  ^\s+alert\-interval* -> NoRecord                             
  ^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\-group\s+${SVC_OBJECT_GRP}+)\s+(user\s+${USER}\s+|object\-group\-user\s+${USER_GROUP}\s+){0,1}(object\-group\-security\s+${SRC_OBJECT_GRP}\s+){0,1}(object\-group\s+${SRC_OBJECT}|${SRC_ANY}|interface\s+${SRC_INTFC}|${SRC_HOST})\s+(eq\s+${SRC_SERVICE}\s+){0,1}(object\-group\-security\s+${DST_OBJECT_GRP}\s+){0,1}(${DST_ANY}|interface\s+${DST_INTFC}|${DST_HOST}|${DST_NETWORK}\s+${DST_MASK})\s+((log\s+(${LOG_LEVEL}\s+interval\s+${LOG_INTERVAL}|disable|default))\s+){0,1}(eq\s+${DST_SERVICE}\s+){0,1}(object\-group\s+${DST_PORT_GRP}\s+){0,1}((eq\s+${ENTRY_PORT}|lt\s+${ENTRY_PORT_LESS_THAN}|gt\s+${ENTRY_PORT_GREATER_THAN}|range\s+${ENTRY_PORT_RANGE_START}\s+${ENTRY_PORT_RANGE_END})\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* -> Record
  ^\s+access\-list\s+${ACL_NAME}\s+line\s+${LINE_NUM}\s+${TYPE}\s+${ACTION}\s+(${PROTOCOL}|object\-group\s+${SVC_OBJECT_GRP})\s+(user\s+${USER}\s+|object\-group\-user\s+${USER_GROUP}\s+){0,1}(security\-group\s+name\s+${SRC_SECURITY_GROUP_NAME}\s+|security\-group\s+tag\s+${SRC_SECURITY_GROUP_TAG}\s+){0,1}(${SRC_ANY}|interface\s+${SRC_INTFC}|${SRC_HOST})\s+(eq\s+${SRC_SERVICE}\s+){0,1}(security\-group\s+name\s+${DST_SECURITY_GROUP_NAME}\s+|security\-group\s+tag\s+${DST_SECURITY_GROUP_TAG}\s+){0,1}(${DST_ANY}|interface\s+${DST_INTFC}|${DST_NETWORK}\s+${DST_MASK}|${DST_HOST})\s+((log\s+(${LOG_LEVEL}\s+interval\s+${LOG_INTERVAL}|disable|default))\s+){0,1}(eq\s+${DST_SERVICE}\s+){0,1}(object\-group\s+${DST_PORT_GRP}\s+){0,1}((eq\s+${ENTRY_PORT}|lt\s+${ENTRY_PORT_LESS_THAN}|gt\s+${ENTRY_PORT_GREATER_THAN}|range\s+${ENTRY_PORT_RANGE_START}\s+${ENTRY_PORT_RANGE_END})\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* -> Record
  ^access-list\s+${ACL_NAME}\s+line\s+${LINE_NUM}\s+remark\s+${REMARK}\s*$$ -> Record                                         
  ^.* -> Error "Did not match any rules"   

