Форум сайта python.su
После парсинга сайта у меня получился список строк такого вида
'5X\xa0\xa0\n\n\xa0\n\n\n\n\n\n3/31/2007\n2\n5\n16\n36\n40\n\xa0\n36\n\xa0\n\n\n\xa0\r\n'
['3/31/2007', '2', '5', '16', '36', '40', '36']
r = r"\d{1,2}\/\d{1,2}\/\d{4}"
Отредактировано roggerg (Окт. 12, 2017 07:26:21)
Офлайн
Составил в итоге такое выражение
r = r'(\d{1,2}\/\d{1,2}\/\d{4})\n(\d{1,2})\n(\d{1,2})\n(\d{1,2})\n(\d{1,2})\n(\d{1,2})\n\xa0\n(\d{1,2})'
[('3/31/2007', '2', '5', '16', '36', '40', '36')]
Офлайн
st = "5X\xa0\xa0\n\n\xa0\n\n\n\n\n\n3/31/2007\n2\n5\n16\n36\n40\n\xa0\n36\n\xa0\n\n\n\xa0\r\n" print(re.findall(r'(?<=\n)(\d{1,2})+?(?!\/)', st))
Офлайн
RomissevdСпасибо, только как теперь это все совместить чтобы дата тоже захватывалась и на выходе получалось бы
['3/31/2007', '2', '5', '16', '36', '40', '36']
Офлайн
а регулярка обязательна?
>>> n = '5X\xa0\xa0\n\n\xa0\n\n\n\n\n\n3/31/2007\n2\n5\n16\n36\n40\n\xa0\n36\n\xa0\n\n\n\xa0\r\n' >>> print(n.split()[1::]) ['3/31/2007', '2', '5', '16', '36', '40', '36']
Офлайн
roggerg
Спасибо, только как теперь это все совместить чтобы дата тоже захватывалась и на выходе получалось бы
print(re.findall(r'(?<=\n)(\d{1,2}\/\d{1,2}\/\d{4}|\d{1,2})+?(?!\/)', st))
Офлайн
marvellikСпасибо, отличное решение
Отредактировано roggerg (Окт. 16, 2017 08:28:59)
Офлайн