【Python自然语言处理】正则表达式(RE)的讲解及实战应用(图文解释 附源码)

简介: 【Python自然语言处理】正则表达式(RE)的讲解及实战应用(图文解释 附源码)

觉得有帮助请动动小手点赞关注收藏~~~

一、分词

在自然语言处理中,分词是文本挖掘和文本分析的基础,分词是将给定语言的字符序列按照规则组合排序成词语序列的处理过程,根据语言不同,分词可以分为中文分词和外文分词,在英语中,单词与单词之间直接以空格作为分隔符,因此空格可以作为分词的关键信息,与此形成对比,中文相对复杂,词语之间缺乏统一的既定分隔符,这决定了即使是相同的中文文本,根据语境不同或者算法不同可能存在多种分词方法,从而导致多义性问题,而歧义可以改变句子或者文本的整体含义,因此提高分词的准确性是影响语义分析的关键问题。

二、停顿

在语言学中,停顿与分词存在一定联系,一般应用在文本语义转换中,语言停顿有两种,其一是句间停顿,根据标点符号来确定句子与句子之间的停顿,其二是句中停顿,以词语或实体为单位,根据句子内各成分之间的内在关系来划分停顿,在汉语中,词语可以大致分为实词和虚词两大类,实词主要包括名词,动词形容词等等,能单独组成句子,而虚词没有单独意义,不能独立组成句子,主要包含副词,介词,助词等等,虚词对实词有协助作用,可以表达一定的意思,虚词位置一般固定,例如副词大多放在动词,形容词的前面起到修饰和限制作用,虚词是语义停顿的重要标志。主语和谓语之间,谓语和宾语,补语之间,一般需要进行停顿处理,正确掌握语句的停顿规律,明确切分标识信息,有助于提高分词处理的准确性和效率

三、正则表达式

正则表达式(Regular Expression)是利用事先定义的特定字符及其组合构造规则字符串,一般用来表达对字符串的匹配逻辑,常见的例子如特定字符串的检索操作。

正则表达式通常被用来查找、替换符合特定符号规律的文本,使用正则表达式首先需要使用正则符号表示特定规则,然后针对特定文本与符号规律进行匹配并检索,最终提取标的信息

正则表达式符号含义规则表如下

常用正则表达式函数使用说明如下

下面列举基于Python的正则表达式实例应用,其中使用到Regex库

测试代码如下

import regex
#查找电子邮箱地址
text="132346school@gmail.com"
expression=regex.compile(r"\w+@\w+\.com")
outcome=regex.findall(expression,text)
print(outcome)
#在文本中查找匹配字符串
text1="REGULARexpression"
text2="!@REGULARexpression@*"
expression=regex.compile(r"\w+")
outcome1=regex.match(expression,text1)
outcome2=regex.match(expression,text2)
print(outcome1)
print(outcome2)
#在文本中查找匹配字符串
outcome3=regex.search(expression,text1)
outcome4=regex.search(expression,text2)
print(outcome3)
print(outcome4)
#在文本中查找匹配分组
text="REGULARexpression-0000"
expression1=regex.compile("(\w+)\-(\w+)")
outcome5=regex.match(expression1,text).group()
outcome6=regex.match(expression,text).groups()
print(outcome5)
print(outcome6)

创作不易 觉得有帮助请点赞关注收藏~~~

相关文章
|
6天前
|
API 数据库 数据安全/隐私保护
Flask框架在Python面试中的应用与实战
【4月更文挑战第18天】Django REST framework (DRF) 是用于构建Web API的强力工具,尤其适合Django应用。本文深入讨论DRF面试常见问题,包括视图、序列化、路由、权限控制、分页过滤排序及错误处理。同时,强调了易错点如序列化器验证、权限认证配置、API版本管理、性能优化和响应格式统一,并提供实战代码示例。了解这些知识点有助于在Python面试中展现优秀的Web服务开发能力。
22 1
|
1天前
|
人工智能 安全 Java
Python 多线程编程实战:threading 模块的最佳实践
Python 多线程编程实战:threading 模块的最佳实践
10 5
|
3天前
|
人工智能 自然语言处理 Python
使用Python实现自然语言处理模型
使用Python实现自然语言处理模型
13 1
|
3天前
|
人工智能 Python
【AI大模型应用开发】【LangChain系列】实战案例1:用LangChain写Python代码并执行来生成答案
【AI大模型应用开发】【LangChain系列】实战案例1:用LangChain写Python代码并执行来生成答案
8 0
|
6天前
|
SQL 中间件 API
Flask框架在Python面试中的应用与实战
【4月更文挑战第18天】**Flask是Python的轻量级Web框架,以其简洁API和强大扩展性受欢迎。本文深入探讨了面试中关于Flask的常见问题,包括路由、Jinja2模板、数据库操作、中间件和错误处理。同时,提到了易错点,如路由冲突、模板安全、SQL注入,以及请求上下文管理。通过实例代码展示了如何创建和管理数据库、使用表单以及处理请求。掌握这些知识将有助于在面试中展现Flask技能。**
12 1
Flask框架在Python面试中的应用与实战
|
7天前
|
缓存 自然语言处理 数据处理
Python自然语言处理面试:NLTK、SpaCy与Hugging Face库详解
【4月更文挑战第16天】本文介绍了Python NLP面试中NLTK、SpaCy和Hugging Face库的常见问题和易错点。通过示例代码展示了如何进行分词、词性标注、命名实体识别、相似度计算、依存关系分析、文本分类及预训练模型调用等任务。重点强调了理解库功能、预处理、模型选择、性能优化和模型解释性的重要性,帮助面试者提升NLP技术展示。
26 5
|
7天前
|
SQL 关系型数据库 MySQL
Python与MySQL数据库交互:面试实战
【4月更文挑战第16天】本文介绍了Python与MySQL交互的面试重点,包括使用`mysql-connector-python`或`pymysql`连接数据库、执行SQL查询、异常处理、防止SQL注入、事务管理和ORM框架。易错点包括忘记关闭连接、忽视异常处理、硬编码SQL、忽略事务及过度依赖低效查询。通过理解这些问题和提供策略,可提升面试表现。
28 6
|
1月前
|
机器学习/深度学习 自然语言处理 监控
利用深度学习技术实现自然语言处理中的情感分析
本文将深入探讨如何利用深度学习技术在自然语言处理领域中实现情感分析。通过介绍情感分析的背景和原理,结合深度学习模型如LSTM、BERT等的应用,帮助读者了解情感分析的重要性以及如何利用最新技术实现更准确的情感识别。
|
1月前
|
机器学习/深度学习 自然语言处理 算法
探索机器学习中的自然语言处理技术
【2月更文挑战第16天】 在数字化和智能化的浪潮中,自然语言处理(NLP)技术已成为连接人类与机器沟通的重要桥梁。本文深入探讨了机器学习在自然语言处理中的应用,包括最新的模型架构、算法优化技巧及实际场景中的挑战和解决方案。通过逻辑严密的分析,我们将揭示如何有效利用机器学习提升NLP系统的性能,同时对未来发展趋势进行预测。
23 0
|
1月前
|
机器学习/深度学习 自然语言处理 监控
利用深度学习技术实现自然语言处理中的情感分析
本文将深入探讨如何利用深度学习技术,特别是神经网络模型,来实现自然语言处理领域中的情感分析任务。通过结合深度学习算法和大规模文本数据集,可以实现更准确和高效的情感分析,为情感识别和情感推断提供更好的解决方案。