Вопрос немного сбивает с толку. Но вам не нужно делать все с регулярными выражениями, есть несколько хороших простых старых строковых функций, которые вы, возможно, захотите попробовать, например 'split'.
Эта версия также воздержится от загрузки всего файла в память сразу и закроет файл, даже если будет сгенерировано исключение.
regexp = re.compile(r'\[(\d+)\] SERVICE NOTIFICATION: (.+)')
with open('var/tmp/nagios.log', 'r') as file:
for line in file:
fields = line.split(';')
match = regexp.match(fields[0])
if match:
timestamp = int(match.group(1))
hostname = match.group(2)