@stayHARD

Как выбрать нужные данные regexp?

Здравствуйте.
Необходимо считывать данные из файла субтитров.
Структура примерно вот такая:
1812
01:22:07,367 --> 01:22:09,300
[Police radio chatter]

Где 1812 - число от 1 до N.

Не силен в регулярных выражениях, по этому прошу помочь мне.
Все данные в [], я нахожу вот таким образом:
cc = re.findall(r'\[([A-Za-z0-9_ -,]+)\]', data)
А как я могу получить к ним еще и время?
Пробую вот так, но это явно не то, что я хочу получить.
time = re.findall(r'-->(.*?)\[', data)

В итоге хочу получить запись вида:
Police radio chatter 01:22:07,367 01:22:09,300

Как можно выбрать время при такой структуре?
  • Вопрос задан
  • 277 просмотров
Пригласить эксперта
Ответы на вопрос 3
abs0lut
@abs0lut
1812
01:22:07,367 --> 01:22:09,300
[Police radio chatter]

В итоге хочу получить запись вида:
Police radio chatter 01:22:07,367 01:22:09,300


import re

s = """1812
01:22:07,367 --> 01:22:09,300
[Police radio chatter]"""

time = re.findall(r"\d{2}:\d{2}:\d{2}", s) # ['01:22:07', '01:22:09']
text = re.findall(r"[^\d\[\]:,\s\->]+", s) # ['Police', 'radio', 'chatter']
Ответ написан
@MAGistr_MTM
Учусь программировать
" ".join(text.split(' --> '))
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы