首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在文本中查找特定词的几个问题

在文本中查找特定词的几个问题
EN

Stack Overflow用户
提问于 2014-10-08 11:03:07
回答 2查看 30关注 0票数 0

我是Python的新手,有一些简单的问题(但他们要杀了我)。

我想要一个代码,在"Dr. .“后面给我显示单词,但前提是,后面的单词是标题,就像”Dr.. Bernard“中的Bernard。就像我需要很多其他的东西一样,比如“医学”。等等..。

这里我的代码:

代码语言:javascript
复制
    sentence = "Dr. Mobuis is a good person. Dr. med. Peter isnt."
    for m in re.finditer("(Dr\.|med\.)\s([A-Z][a-z]+)", sentence):
         print '%02d-%02d: %s' % (m.start(), m.end(), m.group(0))

现在我明白了:

代码语言:javascript
复制
    00-10: Dr. Mobuis
    33-43: med. Peter

我想摆脱那个“博士”还有“医学”。多么?还是有更好的方法来解决这个问题?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-10-08 11:08:23

只需打印组索引2而不是组索引0。

代码语言:javascript
复制
>>> for m in re.finditer("(Dr\.|med\.)\s([A-Z][a-z]+)", sentence):
...     print '%02d-%02d: %s' % (m.start(), m.end(), m.group(2))
... 
00-10: Mobuis
33-43: Peter

更新:

代码语言:javascript
复制
>>> for m in re.finditer("(Dr\.|med\.)\s([A-Z][a-z]+)\s\S+", sentence):...     print '%02d-%02d: %s - context is %s' % (m.start(), m.end(), m.group(2),m.group(0))
... 
00-13: Mobuis - context is Dr. Mobuis is
33-49: Peter - context is med. Peter isnt.
票数 0
EN

Stack Overflow用户

发布于 2014-10-08 11:05:27

代码语言:javascript
复制
(?<=Dr.)\s*(\b[A-Z]\w+\b)

尝试this.Grab match.See演示。

http://regex101.com/r/hQ1rP0/75

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

https://stackoverflow.com/questions/26255349

复制
相关文章

相似问题

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