Удалите все до и после групп захвата [дубликат]Python

Программы на Python
Anonymous
Удалите все до и после групп захвата [дубликат]

Сообщение Anonymous »

Я хотел бы использовать re.sub для извлечения и переформатирования данных из текста.

Код: Выделить всё

capture = r"([0-9]+)/([0-9]+)/([0-9]+) at ([0-9]+:[0-9]+)"
fmt = r"\3-\2-\1T\4:00Z"

re.sub(capture, fmt, "The 02/10/2023 at 10:55 sometext")
Проблема в том, что результат:

Код: Выделить всё

The 2023-10-02T10:55:00Z sometext
Мне бы хотелось, чтобы весь текст перед первой группой совпадений и после последней игнорировался, чтобы получить что-то вроде этого:

Код: Выделить всё

2023-10-02T10:55:00Z
Но я не могу найти способ сделать это. Я думал, что для этого будет флаг опции re.sub, но его нет. Я пытался использовать re.search с group(0), чтобы захватить только ту часть, которую я хочу, но мне нужно, чтобы группы захвата все еще были записаны как регулярное выражение, чтобы иметь возможность использовать замену с помощью re.sub< /code>.
Есть ли простой способ сделать это?

Подробнее здесь: https://stackoverflow.com/questions/790 ... ure-groups

Вернуться в «Python»