У меня есть текст, где часть текста ограничена:матч нежадным регулярное выражение разделителей
{# xxx #} some text {# zzz #}
У меня есть много вхождений этого шаблона на протяжении всего моего текста. Я хотел бы извлечь some text
из разделителей. Как я могу сделать это с помощью регулярного выражения?
Например, если у меня есть этот текст:
Lorem Ipsum просто манекен текста печати и верстки промышленности. Lorem Ipsum был стандартным фиктивным текстом отрасли с тех пор, как в 1500-х годах, когда неизвестный принтер взял камбуз типа и скремблировал {# xxx #} его, чтобы сделать {# zzz #} типовой экземпляр книги. Он пережил не только пять столетий, но и прыжок в электронный набор, оставаясь практически неизменным. Он был популяризирован в 1960-х годах {# xxx #} с {# zzz #} выпуском листов Letraset, содержащих проходы Lorem Ipsum, а в последнее время с {# xxx #} настольным издательским программным обеспечением, таким как Aldus PageMaker {# zzz #}, включая версии Lorem Ipsum.
Я хотел бы получить список вроде:
[it to make, with, desktop publishing software like Aldus PageMaker]
Вот мой нерабочим код:
>>> regex = re.compile(r'{# xxx #}.*({# zzz #}).*?')
>>> re.findall(regex, s) {# zzz #}
Я думаю, что мои трудности пытаются крафта регулярное выражение в неживой манере?
Ничего себе, это невероятно! Почему в итоговое соответствие не входят '{# xxx #}' и '{# zzz #}'? – turtle
@turtle, см. Обновленное объяснение об использовании его для получения подгрупп. – 2013-03-08 11:48:50