Есть TXT-файл из которого через регулярное выражения нужно вывести определённый текст.\
Есть два текста:
1. Got character ZDOID from Player : 2556225565:148 - Игрок возродился
2. Got character ZDOID from Player : 0:0 - Игрок умер.
Для того, чтобы вывести текст возрождения использую:
spawn_event = '.*?Got character ZDOID from (\\w+)\\b'
Для смерти (самое простое):
player_death = '.*?Got character ZDOID from (\w+) : 0:0'
---
Через бесконечный цикл, я проверяю наличие данного текста:
with open(file, encoding='utf-8', mode='rt') as a:
a.seek(0,2)
while True:
i = a.readline()
if(re.search(pdeath, i)):
pname = re.search(pdeath, i).group(1)
print(':coffin: **' + pname + '** только что умер!')
if(re.search(sevent, i)):
player = re.search(sevent, i).group(1)
greeting = ['прибыл на сервер ', 'возродился на сервер ', 'прибыл в мир ', 'приземлился на сервер ']
i = random.choice(greeting)
print('> **{0}** {1}*{2}*'.format(player, i, SERVER))
---
Когда игрок возрождается, выводиться всё как нужно:
> **Кадгар** приземлился на сервер *Asgard*
Но когда проверяю вывод текста на смерть, выводиться вот что:
:coffin: **Кадгар** только что умер!
> **Кадгар** возродился на сервер *Asgard*
Почему так происходит, вроде вывод дальнейшего текста ограничил
\\b
.