匹配引用文本之前的列表中名称的最后一次出现

时间:2017-05-30 15:19:58

标签: python regex python-3.x python-3.6 lookahead

我试图用长篇文章来获取引用及其各自的作者。

示例:Paul […] Jane says G_quoted text_R

如何在两组中获得及其引用文字,而不是保罗等。

我尝试了一些像这样的积极前瞻,但我得到了所有的名字,而不仅仅是简。非常感谢你的帮助。

i?(Paul|Jane|Robert|John)(?=[^.]*?G_(.*)_R)

https://regex101.com/r/mx0JgV/1

1 个答案:

答案 0 :(得分:0)

错误:

import re

QUOTE_FINDER = re.compile(r"(paul|jane|robert|john).*?G_(.*?)_R", re.IGNORECASE | re.DOTALL)

data = """dfdsf Jane […] Paul […] Jane says G_quoted text_R
and Paul says G_some other text_R while Robert prefers to say G_nothing_R..."""

quotes = QUOTE_FINDER.findall(data)
# [('Jane', 'quoted text'), ('Paul', 'some other text'), ('Robert', 'nothing')]