У меня есть строка, содержащая псевдоним игрока 1, ссылку на профиль игрока 1, псевдоним игрока 2, ссылку на профиль игрока 2, оружие. Мне нужно получить эти данные из строки ниже
`[ex.endermen](profile_url1) got killed by [og.[(Z)]arcus(0.43k/d)](profile_url2) (FN Evolys, 56.83m)`
Мне нужно получить данные и вывести их в формате
print(f"name1 = {name1}")
print(f"name1_url = {name1_url}")
print(f"name2 = {name2}")
print(f"name2_url = {name2_url}")
есть ли способ правильно получить всю информацию, при условии, что строка может измениться на эту
[ex.endermen](profile_url1) got killed by [og.[(Z)]arcus(0.43k/d)](profile_url2) (FN Evolys, 56.83m)
или
[ex.endermen](profile_url1) got killed by [platina](profile_url2) (FN Evolys, 56.83m)
Я пытался сделать это несколькими способами, используя регулярные выражения, но получил не тот результат который был мне нужен.
name_weapon_pattern = r"\[(.*?)\].*\((.*?)\).*\((.*),.*\)"
name_weapon_match = re.search(name_weapon_pattern, string)
url_pattern = r"\((.*?)\)"
url_match = re.findall(url_pattern, string)
name1 = name_weapon_match.group(1)
name1_url = name_weapon_match.group(2)
name2 = name_weapon_match.group(3)
name2_url = url_match[1]
print(f"name1 = {name1}")
print(f"name1_url = {name1_url}")
print(f"name2 = {name2}")
print(f"name2_url = {name2_url}")
результат:
name1 = og.[(Z)
name1_url = name2_url
name2 = FN Evolys
name2_url = 0.43k/d