Извлечь несохраненный необработанный текст из регулярного выраженияPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Извлечь несохраненный необработанный текст из регулярного выражения

Сообщение Anonymous »

Мне дано регулярное выражение, состоящее из необработанного текста и групп захвата. Как извлечь из него все фрагменты необработанного текста?
Например:

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

pattern = r"Date: (\d{4})-(\d{2})-(\d{2})"
assert extract(pattern) == ["Date: ", "-", "-", ""]
Здесь последняя запись в результате представляет собой пустую строку, что указывает на отсутствие необработанного текста после последней группы захвата.
Решение не следует извлекать необработанный текст внутри групп захвата:

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

pattern = r"hello (world)"
assert extract(pattern) == ["hello ", ""]
Решение должно корректно работать и с экранированными символами, например:

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

pattern = r"\(born in (.*)\)"
assert extract(pattern) == ["(born in ", ")"]
В идеале решение должно быть эффективным и избегать циклического перебора строки в Python.


Подробнее здесь: https://stackoverflow.com/questions/791 ... from-regex
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

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