Найти - Пользователи
Полная версия: Выделение по шаблону
Начало » Python для новичков » Выделение по шаблону
1
Dobrodel
Привет всем
Помогите советом, как выделить данные из строки:
data =«'date': '22 Oct 2013', 'begin': '14:00', 'id': 10127, 'sr': '1:0:19:42D0:11:', box': 'Premium

Необходимо собрать всё значения после названия переменной, чтобы в результате получить список вида:
['22 Oct 2013', '14:00', 10127', '1:0:19:42D0:11:', 'Premium]

Замечу, что переменная id есть целое число и соответственно без кавычек.
Можно ли решить проблему? И если да, то как? Подскажите пожалуйста.
Budulianin
map(''.join, re.findall(r": \'([\w: ]+)\'| ([\w: ]+)", s))
Dobrodel
Благодарю, то что надо))
Волшебство прямо)))
Dobrodel
Возможно будет у Вас оказия подсказать мне, ещё и в этом вопросе)):
Есть строка
data=‘отличная мелодрама’
Необходимо составить регулярное выражение, которое бы возвращало результат (строку «драма» ) в случае если сочетание букв ’драма’ встречалась бы, как отдельное слово. Т.е. в случае
data=‘отличная мелодрама’
возвращается пустота, а в случае
data=‘и в тоже время драма интереснее’
возвращается «драма».
Или это возможно решить без регулярных выражений?
vrabey
data = u'и в тоже время драма интереснее'
word = u" драма "
# номер первого вхожения если есть или -1
print data.find(word)
# True or False
print word in data
#--------------------------------------------
# v2
word2 = u"драма"
# True or False
print word2 in data.split(" ")
py.user.next
>>> import re
>>> 
>>> data = 'и в тоже время драма интереснее'
>>> 
>>> match = re.search(r'\bдрама\b', data)
>>> out = (match and match.group()) or ''
>>> out
'драма'
>>> 
>>> data = 'и в тоже время мелодрама интереснее'
>>> 
>>> match = re.search(r'\bдрама\b', data)
>>> out = (match and match.group()) or ''
>>> out
''
>>>
Dobrodel
Супер, благодарю
Dobrodel
В продолжении темы))
Задача усложнилась (для меня, так точно)
Есть строка
data =«date=22 Oct 2013 14:00, begin=14:00, id=10127, sr=1:0:19:42D0:11:, box=Премиум»
Нужно получить на русском
['22 Oct 2013 14:00', '14:00', 10127', '1:0:19:42D0:11:', 'Премиум’]

Подскажите пожалуйста, как сделать?
Dobrodel
Вроде получилось всё))
data ="date=22 Oct 2013 14:00, begin=14:00, id=10127, sr=1:0:19:42D0:11:, box=Премиум"
print re.sub( r"(\S+)=","",data)
Результат:
22 Oct 2013 14:00, 14:00, 10127, 1:0:19:42D0:11:, Премиум
Простите за беспокойство))
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