@stayHARD

Как отбросить часть строки?

Доброй ночи.
Есть вот такие данные:
00:00:05,233 --> 00:00:08,133
GAT[xd]fES: Amelia Earhart
is on one of the final legs

Или вот такого вида:
00:00:05,233 --> 00:00:08,133
[xd]fES: Amelia Earhart
is on one of the final legs

Из них нужно получить: 00:00:05,233 --> 00:00:08,133 xd
Сейчас делаю вот так:
(\d+:\d+:\d+,\d+ --> \d+:\d+:\d+,\d+)\s+(.*?)+\[(.+)\]|(\d+:\d+:\d+,\d+ --> \d+:\d+:\d+,\d+)\s\[(.+)\]

Но не знаю как в случае с GAT[xd]fES: Amelia Earhart я могу откинуть символы что идут перед "[".
Прошу поправить меня и объяснить что не так.
Заранее спасибо.
  • Вопрос задан
  • 379 просмотров
Решения вопроса 1
DevMan
@DevMan
import re
p = re.compile(r"([\d\W]+)\n.*\[(.*)\].*\n.*", re.MULTILINE | re.UNICODE)
test_str = u"""00:00:05,233 --> 00:00:08,133
GAT[xd]fES: Amelia Earhart
is on one of the final legs

00:00:05,333 --> 00:00:08,433
[xd]fES: Amelia Earhart
is on one of the final legs
"""

subst = r"\1 \2"
result = re.sub(p, subst, test_str)
print result
ideone.com/K0zp7X
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы