首页 > 解决方案 > Python/Regex - 匹配与另一个正则表达式匹配的所有句子

问题描述

我使用以下正则表达式来匹配其中包含数字的任何方括号,然后在这些括号前后匹配十个单词 (?P<capture>(?:\w+\W+){,10}\[\d+\]\W+(?:\w+\W+){,10})

然后这将返回 appellant had pleaded guilty: see R v McReady and Hurd [1978] 1 WLR 1376. In those circumstances, the legal advice would

现在我决定寻找整个句子更有意义,所以我希望它找到所有句子,无论多长,包括\[\d+\]\W+其中。

任何帮助,我会怎么做?我尝试了不同的方法,但在此过程中一定犯了错误

标签: pythonregex

解决方案


我对您要查找的内容的理解是,查找其中包含 [number] 的所有句子。在您的文本上尝试以下模式global和匹配选项:multiline

\s+[^.!?]*\[\d+\].*?[.!?]

对于下面的示例文本,您应该得到两个以粗体显示的匹配项:

上诉人已认罪:参见 R v McReady and Hurd [1978] 1 WLR 1376。在这种情况下,法律意见会。还有其他案例[123]?


推荐阅读