【发布时间】:2013-03-08 11:42:14
【问题描述】:
我有文本,其中一些文本由以下分隔:
{# xxx #} some text {# zzz #}
我在整个文本中多次出现这种模式。我想从分隔符中提取some text。如何使用正则表达式做到这一点?
例如,如果我有这样的文字:
Lorem Ipsum 只是印刷和排版行业的虚拟文本。自 1500 年代以来,Lorem Ipsum 一直是行业的标准虚拟文本,当时一位不知名的印刷商采用了一种类型的厨房并将 {# xxx #} 它加扰以使 {# zzz #} 成为一本类型样本书。它不仅经历了五个世纪,而且经历了电子排版的飞跃,基本保持不变。它在 1960 年代 {# xxx #} 与 {# zzz #} 发布了包含 Lorem Ipsum 段落的 Letraset 表,最近在 {# 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 #}
我认为我的困难在于尝试以非贪婪的方式制作正则表达式?
【问题讨论】: