Найти - Пользователи
Полная версия: Регулярные выражения
Начало » Python для новичков » Регулярные выражения
1
wesmokeweed
Есть txt файл с запарсенными данными. Вот часть из них:

{'b': ,
‘e’: 'FT',
‘f’: ,
‘g’: 5,
‘h’: 5,
‘id’: ,
‘l’: ,
‘m’: 'Desert Eagle | Conspiracy',
‘n’: ,
‘o’: ,
‘p’: 2.13,
‘u’: ‘k4a’,
‘v’: 10,
‘y’: },

Необходимо достать выделенный жирным шрифтом текст. И хоть убей, не могу допереть, как их достать. Максимум, на что я способен, это выделить всю строку с необходимым мне текстом. Помогите обделенному умом
Romissevd
Так если это словарь, получить значение по ключу
AndreyGrish
Да, посмотрите словари программирование на Python.
marvellik
Romissevd
Так если это словарь
дело в том что это мы видим словарь а питон эти данные из файла получит как строку
 '{'b': ,‘e’: 'FT',‘f’: ,‘g’: 5,‘h’: 5,‘id’: ,‘l’: ,‘m’: 'Desert Eagle | Conspiracy',}'
и из этой строки вы не получите значение по ключу






Romissevd
тогда преобразовать строку в словарь
 import re
st = "{'b': ,'e': 'FT','f': ,'g': 5,'h': 5,'id': ,'l': ,'m': 'Desert Eagle | Conspiracy'}"
print(dict(zip(re.findall(r'(?<=\')[\w\s]+(?=\':)', st), [re.search(r'(?<=: )[^}]*', x).group() for x in st.split(',')])))
и получить значения по ключу
Vintets
А это и не словарь. Там пустые значения, так не может быть
 {id: }
Может быть или None или пустая строка ''.
Тогда и регулярки не нужны

 import json
st = "{'b': '','e': 'FT','f': '','g': 5,'h': 5,'id': '','l': '','m': 'Desert Eagle | Conspiracy'}"
print(json.loads(st.replace("'", '"')))

Ну или в крайнем случае
 print(eval(st))
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB