【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)

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

相关文章
|
9月前
|
SQL 关系型数据库 数据库
Python SQLAlchemy模块:从入门到实战的数据库操作指南
免费提供Python+PyCharm编程环境,结合SQLAlchemy ORM框架详解数据库开发。涵盖连接配置、模型定义、CRUD操作、事务控制及Alembic迁移工具,以电商订单系统为例,深入讲解高并发场景下的性能优化与最佳实践,助你高效构建数据驱动应用。
1018 7
|
9月前
|
数据采集 Web App开发 数据安全/隐私保护
实战:Python爬虫如何模拟登录与维持会话状态
实战:Python爬虫如何模拟登录与维持会话状态
|
9月前
|
存储 数据采集 监控
Python文件操作全攻略:从基础到高级实战
本文系统讲解Python文件操作核心技巧,涵盖基础读写、指针控制、异常处理及大文件分块处理等实战场景。结合日志分析、CSV清洗等案例,助你高效掌握文本与二进制文件处理,提升程序健壮性与开发效率。(238字)
708 1
|
9月前
|
Java 调度 数据库
Python threading模块:多线程编程的实战指南
本文深入讲解Python多线程编程,涵盖threading模块的核心用法:线程创建、生命周期、同步机制(锁、信号量、条件变量)、线程通信(队列)、守护线程与线程池应用。结合实战案例,如多线程下载器,帮助开发者提升程序并发性能,适用于I/O密集型任务处理。
797 0
|
9月前
|
机器学习/深度学习 监控 数据挖掘
Python 高效清理 Excel 空白行列:从原理到实战
本文介绍如何使用Python的openpyxl库自动清理Excel中的空白行列。通过代码实现高效识别并删除无数据的行与列,解决文件臃肿、读取错误等问题,提升数据处理效率与准确性,适用于各类批量Excel清理任务。
778 0
|
机器学习/深度学习 人工智能 自然语言处理
AI技术在自然语言处理中的应用与挑战
【10月更文挑战第3天】本文将探讨AI技术在自然语言处理(NLP)领域的应用及其面临的挑战。我们将分析NLP的基本原理,介绍AI技术如何推动NLP的发展,并讨论当前的挑战和未来的趋势。通过本文,读者将了解AI技术在NLP中的重要性,以及如何利用这些技术解决实际问题。
|
存储 人工智能 自然语言处理
Pandas数据应用:自然语言处理
本文介绍Pandas在自然语言处理(NLP)中的应用,涵盖数据准备、文本预处理、分词、去除停用词等常见任务,并通过代码示例详细解释。同时,针对常见的报错如`MemoryError`、`ValueError`和`KeyError`提供了解决方案。适合初学者逐步掌握Pandas与NLP结合的技巧。
603 20
|
自然语言处理 API C++
阿里通义推出SmartVscode插件,自然语言控制VS Code,轻松开发应用,核心技术开源!
SmartVscode插件深度解析:自然语言控制VS Code的革命性工具及其开源框架App-Controller
2704 1
阿里通义推出SmartVscode插件,自然语言控制VS Code,轻松开发应用,核心技术开源!
|
自然语言处理 算法 Python
自然语言处理(NLP)在文本分析中的应用:从「被动收集」到「主动分析」
【10月更文挑战第9天】自然语言处理(NLP)在文本分析中的应用:从「被动收集」到「主动分析」
538 4
|
机器学习/深度学习 人工智能 自然语言处理
探索AI在自然语言处理中的创新应用
【10月更文挑战第7天】本文将深入探讨人工智能在自然语言处理领域的最新进展,揭示AI技术如何改变我们与机器的互动方式,并展示通过实际代码示例实现的具体应用。
334 1

推荐镜像

更多