Найти - Пользователи
Полная версия: И снова re.....
Начало » Python для новичков » И снова re.....
1
zahar
Друзья, прошу помочь. Как сделать и почему не работает вариант ниже

s = "бла бла бла startDate: (2015, 3, 25, 1, 38, 30.0),бла бла бла time: 720L, бла бла бла startDate: (2014, 4, 26, 1, 38, 30.0),бла бла бла time: 500L, бла бла бла"
pattern = re.compile('(startDate: \([\d]+, [\d]+, [\d]+).*(time: [\d]+)')
string = re.findall(pattern, s)

Выдает только
  [('startDate: (2015, 3, 25', 'time: 1720')]   
. Те выдает первый startDate и последний time, а нужно что то вроде:
 [('startDate: (2015, 3, 25', 'time: 720') ('startDate: (2014, 4, 26', 'time: 500')] 
zahar
Пока сделал так (заменил .* на |) Работает, но не то

s = "бла бла бла startDate: (2015, 3, 25, 1, 38, 30.0),бла бла бла time: 720L, бла бла бла startDate: (2014, 4, 26, 1, 38, 30.0),бла бла бла time: 500L, бла бла бла"
pattern = re.compile('startDate: \([\d]+, [\d]+, [\d]+|time: [\d]+')
string = re.findall(pattern, s)

Выдает:

['startDate: (2015, 3, 25', 'time: 720', 'startDate: (2014, 4, 26', 'time: 1720']
dimy44
pattern = re.compile('(startDate: \(\d+, \d+, \d+).+?(time: \d+)')
zahar
Спасибо, то что надо. Думал уже все перебрал, а это упустил
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