- import re 
- logdata = r"""159.253.153.40 - - [21/Jun/2019:15:46:10 -0700] "POST /e-business HTTP/1.0" 504 19845 
- 136.195.158.6 - feeney9464 [21/Jun/2019:15:46:11 -0700] "HEAD /open-source/markets HTTP/2.0" 204 21149""" 
- pattern = r''' 
- (?P<host>\d+(?:\.\d+){3}) # 1+ digits and 3 occurrenses of . and 3 digits 
- \s+\S+\s+                 # 1+ whitespaces, 1+ non-whitespaces, 1+ whitespaces 
- (?P<user_name>\S+)\s+\[   # 1+ non-whitespaces (Group "user_name"), 1+ whitespaces and [ 
- (?P<time>[^\]\[]*)\]\s+   # Group "time": 0+ chars other than [ and ], ], 1+ whitespaces 
- "(?P<request>[^"]*)"      # ", Group "request": 0+ non-" chars, " 
- ''' 
- for item in re.finditer(pattern,logdata,re.VERBOSE): 
-     print(item.groupdict()) 
				aW1wb3J0IHJlCmxvZ2RhdGEgPSByIiIiMTU5LjI1My4xNTMuNDAgLSAtIFsyMS9KdW4vMjAxOToxNTo0NjoxMCAtMDcwMF0gIlBPU1QgL2UtYnVzaW5lc3MgSFRUUC8xLjAiIDUwNCAxOTg0NQoxMzYuMTk1LjE1OC42IC0gZmVlbmV5OTQ2NCBbMjEvSnVuLzIwMTk6MTU6NDY6MTEgLTA3MDBdICJIRUFEIC9vcGVuLXNvdXJjZS9tYXJrZXRzIEhUVFAvMi4wIiAyMDQgMjExNDkiIiIKcGF0dGVybiA9IHInJycKKD9QPGhvc3Q+XGQrKD86XC5cZCspezN9KSAjIDErIGRpZ2l0cyBhbmQgMyBvY2N1cnJlbnNlcyBvZiAuIGFuZCAzIGRpZ2l0cwpccytcUytccysgICAgICAgICAgICAgICAgICMgMSsgd2hpdGVzcGFjZXMsIDErIG5vbi13aGl0ZXNwYWNlcywgMSsgd2hpdGVzcGFjZXMKKD9QPHVzZXJfbmFtZT5cUyspXHMrXFsgICAjIDErIG5vbi13aGl0ZXNwYWNlcyAoR3JvdXAgInVzZXJfbmFtZSIpLCAxKyB3aGl0ZXNwYWNlcyBhbmQgWwooP1A8dGltZT5bXlxdXFtdKilcXVxzKyAgICMgR3JvdXAgInRpbWUiOiAwKyBjaGFycyBvdGhlciB0aGFuIFsgYW5kIF0sIF0sIDErIHdoaXRlc3BhY2VzCiIoP1A8cmVxdWVzdD5bXiJdKikiICAgICAgIyAiLCBHcm91cCAicmVxdWVzdCI6IDArIG5vbi0iIGNoYXJzLCAiCicnJwpmb3IgaXRlbSBpbiByZS5maW5kaXRlcihwYXR0ZXJuLGxvZ2RhdGEscmUuVkVSQk9TRSk6CiAgICBwcmludChpdGVtLmdyb3VwZGljdCgpKQ==
				
				
				
				
				
			 
			
				
			
			
				
	
		
		
	
	
		{'host': '159.253.153.40', 'user_name': '-', 'time': '21/Jun/2019:15:46:10 -0700', 'request': 'POST /e-business HTTP/1.0'}
{'host': '136.195.158.6', 'user_name': 'feeney9464', 'time': '21/Jun/2019:15:46:11 -0700', 'request': 'HEAD /open-source/markets HTTP/2.0'}