首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python正则表达式与句子中的模式匹配

Python正则表达式与句子中的模式匹配
EN

Stack Overflow用户
提问于 2015-10-10 03:33:12
回答 1查看 139关注 0票数 0

例如,鉴于这一段

.This是图3a。这是图4a。我喜欢(图5)。这是重要的(图6a)。

我希望用python来提取基于数字的句子。我在努力

  1. 这是图3a使用的(^.*?图3^.)
  2. 图4a (图4^.)
  3. 我喜欢(图5) (^.*?图5^.)
  4. 这一点很重要(图6a) (^.*?图6^.)

但匹配并不具体。例如,数字4将提取所有数字。我只是基于数字的一个具体数字

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-10-10 03:46:42

你需要替换,

  • .*先于4[^.]*
  • 4替换为\d

代码:

代码语言:javascript
复制
In[3]: s = "This is figure 3a. This is fig 4a . I like (figure 5). This is important (fig 6a)."
In[4]: import re
In[5]: re.findall(r'[^.]*?fig[^.]*\d[^.]*', s)
Out[5]: 
['This is figure 3a',
 ' This is fig 4a ',
 ' I like (figure 5)',
 ' This is important (fig 6a)']

代码语言:javascript
复制
In[8]: re.findall(r'\s*([^.]*?fig[^.]*\d[^.]*?)(?=\s*\.)', s)
Out[8]: 
['This is figure 3a',
 'This is fig 4a',
 'I like (figure 5)',
 'This is important (fig 6a)']
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33049967

复制
相关文章

相似问题

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