首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Python正则表达式-提取包含相同关键字的多个句子

Python正则表达式-提取包含相同关键字的多个句子
EN

Stack Overflow用户
提问于 2018-07-12 03:43:14
回答 1查看 74关注 0票数 0
代码语言:javascript
复制
import re

regex = r"[^.?!-]*(?<=[.?\s!-])\b(pfs)\b(?=[\s.?!-])[^.?!-]*[.?!-]"

test_str = "pfs alert conf . it is unlikely that we will sign it - pfs of $ 950 filed to driver - we are gathering information"

subst = ""

result = re.sub(regex, subst, test_str, 0, re.IGNORECASE | re.MULTILINE)

if result:
    print (result)

正如我们所看到的,test_str有两个关键字为“pfs”的句子。然而,上面的python代码只能提取第二句话'pfs of $ 950 filed to driver',如何修改它来提取‘pfs alert conf’呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-07-12 03:56:11

第一个pfs位于行的开头,但是在您的正向回看中,您将1个字符与(?<=[.?\s!-])匹配,您可以使用交替来断言行的开头^[^.?!-]*(?<=[.?\s!-])

(?:^|[^.?!-]*(?<=[.?\s!-]))\bpfs\b(?=[\s.?!-])[^.?!-]*[.?!-]

Regex demo

Demo python

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51293154

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档