import re
text = '''146.204.224.152 - feest6811 [21/Jun/2019:15:45:24 -0700] "POST /incentivize HTTP/1.1" 302 4622
197.109.77.178 - kertzmann3129 [21/Jun/2019:15:45:25 -0700] "DELETE /virtual/solutions/target/web+services HTTP/2.0" 203 26554'''
pattern = r'''(?P<host>\d{1,3}(?:\.\d{1,3}){3})
(\ -\ )
(?P<user_name>[a-z]{1,100}\d{4}|-)
(\ \[)(?P<time>\d{2}/[A-Za-z]{3}/\d{4}:\d{2}:\d{2}:\d{2}\ -\d{4})
(\]\ ")
(?P<request>.+)
(")'''
for item in re.finditer(pattern,text,re.VERBOSE):
print(item.groupdict()) # We can get the dictionary returned for the item with .groupdict()
aW1wb3J0IHJlCnRleHQgPSAnJycxNDYuMjA0LjIyNC4xNTIgLSBmZWVzdDY4MTEgWzIxL0p1bi8yMDE5OjE1OjQ1OjI0IC0wNzAwXSAiUE9TVCAvaW5jZW50aXZpemUgSFRUUC8xLjEiIDMwMiA0NjIyCjE5Ny4xMDkuNzcuMTc4IC0ga2VydHptYW5uMzEyOSBbMjEvSnVuLzIwMTk6MTU6NDU6MjUgLTA3MDBdICJERUxFVEUgL3ZpcnR1YWwvc29sdXRpb25zL3RhcmdldC93ZWIrc2VydmljZXMgSFRUUC8yLjAiIDIwMyAyNjU1NCcnJwpwYXR0ZXJuID0gcicnJyg/UDxob3N0PlxkezEsM30oPzpcLlxkezEsM30pezN9KQooXCAtXCApCig/UDx1c2VyX25hbWU+W2Etel17MSwxMDB9XGR7NH18LSkKKFwgXFspKD9QPHRpbWU+XGR7Mn0vW0EtWmEtel17M30vXGR7NH06XGR7Mn06XGR7Mn06XGR7Mn1cIC1cZHs0fSkKKFxdXCAiKQooP1A8cmVxdWVzdD4uKykKKCIpJycnCmZvciBpdGVtIGluIHJlLmZpbmRpdGVyKHBhdHRlcm4sdGV4dCxyZS5WRVJCT1NFKToKICAgIHByaW50KGl0ZW0uZ3JvdXBkaWN0KCkpICMgV2UgY2FuIGdldCB0aGUgZGljdGlvbmFyeSByZXR1cm5lZCBmb3IgdGhlIGl0ZW0gd2l0aCAuZ3JvdXBkaWN0KCk=
{'host': '146.204.224.152', 'user_name': 'feest6811', 'time': '21/Jun/2019:15:45:24 -0700', 'request': 'POST /incentivize HTTP/1.1'}
{'host': '197.109.77.178', 'user_name': 'kertzmann3129', 'time': '21/Jun/2019:15:45:25 -0700', 'request': 'DELETE /virtual/solutions/target/web+services HTTP/2.0'}