python正则表达式提取字符串的字母_Python正则表达式提取一部分字符串

1要提取大量烧成的一部分。有一个目标词和之前和之后单词的数量上限。因此所提取的子必须包含单词之前和之后它的上界目标字一起。在之前和之后的部分可以包含少言,如果目标字更接近文本的开头或结尾。

进行了串

"Lorem存有胡萝卜,增强大学生开发者,但他们occaecat时间和活力,如劳动力和肥胖。多年来来,谁nostrud锻炼,学区工作,除非他们aliquip优势来自它。作业如果cupidatat消费者找到乐趣想成为一名足球cillum他要躲避痛苦,不会产生任何结果。excepteur cupidatat黑人就不是excepteur,是舒缓的灵魂,那就是,他们抛弃了那些谁是责怪你的烦恼的一般责任。"

目标的话,工作

words_before:5

words_after:2

应该返回['veniam, quis nostrud exercitation ullamco laboris nisi ut']

1个思想几个可能的模式,但没有一次成功。 1猜它也可以通过简单地遍历发射前,从目标背单词做。不过正则表达式肯定会令事情变得更容易。任何帮助,将不胜感激。

感谢所有的答案。 所有这些都按预期工作。 正则表达式对我来说最方便,因为我的字符串中填充了非字母字符!

如果要拆分单词,可以使用slice()和split()功能。 例如:

>>> text ="Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod

tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, qu

is nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.

Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu

fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in

culpa qui officia deserunt mollit anim id est laborum.".split()

>>> n = text.index('laboris')

>>> s = slice(n - 5, n + 3)

>>> text[s]

['veniam,', 'quis', 'nostrud', 'exercitation', 'ullamco', 'laboris', 'nisi', 'ut']

If you still want regex....

def find_context(word_, n_before, n_after, string_):

import re

b= '\w+\W+'  * n_before

a=  '\W+\w+' * n_after

pattern = '(' + b + word_ + a + ')'

print(re.search(pattern, string_).groups(1)[0])

find_context('laboris', 5, 2, st)

veniam, quis nostrud exercitation ullamco laboris nisi ut

find_context('culpa', 2, 2, st)

sunt in culpa qui officia

这似乎总是会给出5个之前和之后的2个。 我认为OP需要前后任意数字。 或者它实际上只是5或2?

@idjaw我做了一个更改,现在它是一个函数,可以输入参数值。

您也可以使用nltk和它的"一致"方法来接近它,受到Calling NLTK的一致性的启发 - 如何在使用的单词之前/之后获取文本?:

A concordance view shows us every occurrence of a given word, together

with some context.

import nltk

def get_neighbors(input_text, word, before, after):

text = nltk.Text(nltk.tokenize.word_tokenize(input_text))

concordance_index = nltk.ConcordanceIndex(text.tokens)

offset = next(offset for offset in concordance_index.offsets(word))

return text.tokens[offset - before - 1: offset] + text.tokens[offset: offset + after + 1]

text = u"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."

print(get_neighbors(text, 'laboris', 5, 2))

在目标词之前打印5个单词/令牌,在之后打印2个:

[u'veniam', u',', u'quis', u'nostrud', u'exercitation', u'ullamco', u'laboris', u'nisi', u'ut']

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/521444.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

机器学习从业人员到底做什么?

这篇文章是系列文章的第1部分,第2部分将阐述AutoML和神经架构搜索、第3部分将特别地介绍Google的AutoML。 关于机器学习人才的稀缺和公司声称他们的产品能够自动化机器学习而且能完全消除对ML专业知识需求的承诺经常登上媒体的新闻头条。在TensorFlow DevSummit的主题演讲中&a…

黑科技揭秘:面对海量的文本翻译任务,阿里翻译团队是如何解决的

摘要: 对国际化企业来说语言问题是亟待突破的重要关口。面对海量的文本翻译任务,昂贵低效的人工翻译显然不能满足需求,利用计算机自动进行文本翻译的机器翻译才是解决这个问题的关键。阿里翻译团队在机器翻译领域做了大量技术储备&#xff0c…

(需求实战_进阶_03)SSM集成RabbitMQ 路由模式关键代码讲解、开发、测试

接上一篇:(企业内部需求实战_进阶_02)SSM集成RabbitMQ 关键代码讲解、开发、测试 https://gblfy.blog.csdn.net/article/details/104214033 上一篇给大家介绍了在RabbitMQ 的管控台中,将队列绑定到指定的交换机上;这片…

在计算机中dos代表什么意思,Boot是什么意思

Boot是什么意思如果你去问一个学计算机的人,“启动”是计算机中的那个单词?回答一定是Boot。可是,Boot原来的意思是靴子,“启动”与靴子有什么关系呢?原来,这里的Boot是bootstrap(鞋带)的缩写,它来自一句谚语&#x…

你知道哪些情况下不该使用深度学习吗?

深度学习不适用于什么样的任务?依我之见,以下这些主要场景的深度学习弊大于利。01低成本或者低承诺问题深网是非常灵活的模型,有着许多架构和节点类型,优化器和正则化策略。根据应用,你的模型可能会有卷基层&#xff0…

秒后面的单位是什么_单位与国际单位制是如何由来的?

2013年国庆期的一则网络消息说,11万人看升旗留下了5吨垃圾。有人认为这是一则假消息,因为5吨=5000千克,110000500022千克/人,而每人携带22千克(44斤)的垃圾是不可能的。以前还看过一个说法&…

Terraform 开发指南

摘要: 本文主要向大家展示如何为阿里云 Terraform Provider 贡献自己的力量,帮助开发者和志同道合的朋友尽快加入到开源生态的建设中来。 本文面向所有的对Terraform熟悉和感兴趣的朋友,如果您还不了解Terraform,快快戳这里。 本…

大学生创新创业大赛案例_七大学生创新创业大赛样本示例

1 / 15附件七:大学生创新创业大赛样本示例本案例为第四届“挑战杯”创业计划大赛金奖作品,为避免篇幅过长,编者对部分内容作了删减,仅作参考。目录、执行总结、项目背景、市场机会、公司战略、市场营销、生产管理、投资分析、财务…

(需求实战_进阶_04)SSM集成RabbitMQ 通配符模式 关键代码讲解、开发、测试

背景: 为了减轻服务器的压力,现在原有项目的基础上集成消息队列来异步处理消息! 此项目是企业真实需求,项目的代码属于线上生产代码,直接用于生产即可! 此项目采用MQ发送消息模式为:通配符模式,如果对Rabbi…

halo多人正在连接服务器,在线人数过低 《光晕2》PC版多人服务器下月关闭

这也许是一个让粉丝略伤感的消息,《光晕2(Halo2)》PC多人游戏服务器将在下个月永久关闭。343 Industries注意到服务器的峰值在线人数一直仅有20人,因此做出了关闭服务器的决定。343 Industries在Halo Waypoint中说道:“我们很遗憾地宣布&…

纯Python实现鸢尾属植物数据集神经网络模型

摘要: 本文以Python代码完成整个鸾尾花图像分类任务,没有调用任何的数据包,适合新手阅读理解,并动手实践体验下机器学习方法的大致流程。 尝试使用过各大公司推出的植物识别APP吗?比如微软识花、花伴侣等这些APP。当你…

【明人不说暗话】我就只讲进程与线程

戳蓝字“CSDN云计算”关注我们哦!作者 | 阮一峰责编 | 阿秃进程(process)和线程(thread)是操作系统的基本概念,但是它们比较抽象,不容易掌握。最近,我读到一篇材料,发现有…

python获取路径下所有文件_Python获取路径下所有文件名

交易系统使用storm,在消息高可靠情况下,如何避免消息重复 概要:在使用storm分布式计算框架进行数据处理时,如何保证进入storm的消息的一定会被处理,且不会被重复处理.这个时候仅仅开启storm的ack机制并不能解决上述问题.那么该如何设计出一个好的方案 ...…

java职业发展路线图_软开(Java),该如何规划职业路线?

一、增强自身的设计与开发能力Java的应用领域是非常广阔的,从手机应用到互联网、数据库和服务器,从PC端到嵌入式设备和移动终端,Java的身影无处不在,而Java工程师就是这些软件产品的创造者,不仅要懂得产品的设计&#…

阿里云发布智能语音自学习平台,零基础训练人工智能模型

摘要: 业务人员甚至门卫大爷也能训练人工智能?曾经只出现科幻电影中的一幕真的发生了。7月18日,阿里巴巴机器智能技术实验室宣布在阿里云正式发布智能语音自学习平台公有云产品,突破性地提供一键式语音智能自助优化方案&#xff0…

(需求实战_进阶_05)SSM集成RabbitMQ 通配符模式 关键代码讲解、开发、测试

接上一篇: 文章目录一、RabbitMQ 配置文件1. RabbitMQ 生产者配置文件更新二、启动项目2.1. 启动项目2.2. 清空控制台三、管控台总览3.1. 登录管控台3.2. 交换机中查看绑定队列总览四、验证测试4.4. 生产者①请求4.5. 生产者②请求五、启动RabbitMQ5.1. 进入sbin目录…

两台邮件服务器共用一个公网地址,两个不同域邮件服务器的互通

两个不同域的邮件服务的互通如图,有两个不同域的邮件服务器(postfix)通过一个DNS服务器实现互通。首先说明一下IP分配情况服务器1qq.cometh0(VMnet2): ip:192.168.2.2 netmask:255.255.255.0 gw 192.168.2.1 hostname:mail.qq.com服务器2(qq.neteht0VMne…

python模块搜索路径_Python模块搜索路径

当一个名为 spam 的模块被导入的时候,解释器首先寻找具有该名称的内置模块。如果没有找到,然后解释器从 sys.path 变量给出的目录列表里寻找名为 spam.py 的文件。sys.path 初始有这些目录地址: 包含输入脚本的目录(或者未指定文件时的当前目…

AI写程序,这事可没那么简单!

摘要: 去年年初,微软公司推出了一款名为DeepCoder的机器学习系统,同时宣称该系统具有自我编码的能力,这一举动又将人工智能的发展向前推进了一步。 正如人工智能是建立在众多机器学习或深度学习方法之上一样,DeepCoder…

希捷银河声音大_【推仔说新闻】那款硬盘它终于来了 希捷推出首款双磁臂硬盘...

经常关注科技新闻的朋友们应该都知道,现在机械硬盘领域可以说是被固态硬盘冲击的不清,而对于我们广大用户们来说,HDD这一个储存介质就被我们更多的用来充当仓库盘使用,毕竟现在的固态已经下探到白菜级别的价格了。但是对于那些HDD…