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

本文涉及的产品
NLP自然语言处理_高级版,每接口累计50万次
NLP 自学习平台,3个模型定制额度 1个月
NLP自然语言处理_基础版,每接口每天50万次
简介: 【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)

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

相关文章
|
7天前
|
数据库 Python
Python 应用
Python 应用。
27 4
|
16天前
|
数据采集 存储 JSON
Python网络爬虫:Scrapy框架的实战应用与技巧分享
【10月更文挑战第27天】本文介绍了Python网络爬虫Scrapy框架的实战应用与技巧。首先讲解了如何创建Scrapy项目、定义爬虫、处理JSON响应、设置User-Agent和代理,以及存储爬取的数据。通过具体示例,帮助读者掌握Scrapy的核心功能和使用方法,提升数据采集效率。
60 6
|
17天前
|
数据采集 数据安全/隐私保护 开发者
非阻塞 I/O:异步编程提升 Python 应用速度
非阻塞 I/O:异步编程提升 Python 应用速度
|
6天前
|
Python
在Python中,可以使用内置的`re`模块来处理正则表达式
在Python中,可以使用内置的`re`模块来处理正则表达式
19 5
|
7天前
|
机器学习/深度学习 数据采集 数据可视化
Python在数据科学中的应用:从入门到实践
本文旨在为读者提供一个Python在数据科学领域应用的全面概览。我们将从Python的基础语法开始,逐步深入到数据处理、分析和可视化的高级技术。文章不仅涵盖了Python中常用的数据科学库,如NumPy、Pandas和Matplotlib,还探讨了机器学习库Scikit-learn的使用。通过实际案例分析,本文将展示如何利用Python进行数据清洗、特征工程、模型训练和结果评估。此外,我们还将探讨Python在大数据处理中的应用,以及如何通过集成学习和深度学习技术来提升数据分析的准确性和效率。
|
9天前
|
机器学习/深度学习 JSON API
Python编程实战:构建一个简单的天气预报应用
Python编程实战:构建一个简单的天气预报应用
23 1
|
11天前
|
数据采集 Web App开发 iOS开发
如何使用 Python 语言的正则表达式进行网页数据的爬取?
使用 Python 进行网页数据爬取的步骤包括:1. 安装必要库(requests、re、bs4);2. 发送 HTTP 请求获取网页内容;3. 使用正则表达式提取数据;4. 数据清洗和处理;5. 循环遍历多个页面。通过这些步骤,可以高效地从网页中提取所需信息。
|
17天前
|
数据可视化 开发者 Python
Python GUI开发:Tkinter与PyQt的实战应用与对比分析
【10月更文挑战第26天】本文介绍了Python中两种常用的GUI工具包——Tkinter和PyQt。Tkinter内置于Python标准库,适合初学者快速上手,提供基本的GUI组件和方法。PyQt基于Qt库,功能强大且灵活,适用于创建复杂的GUI应用程序。通过实战示例和对比分析,帮助开发者选择合适的工具包以满足项目需求。
62 7
|
17天前
|
数据采集 前端开发 中间件
Python网络爬虫:Scrapy框架的实战应用与技巧分享
【10月更文挑战第26天】Python是一种强大的编程语言,在数据抓取和网络爬虫领域应用广泛。Scrapy作为高效灵活的爬虫框架,为开发者提供了强大的工具集。本文通过实战案例,详细解析Scrapy框架的应用与技巧,并附上示例代码。文章介绍了Scrapy的基本概念、创建项目、编写简单爬虫、高级特性和技巧等内容。
40 4
|
18天前
|
机器学习/深度学习 数据可视化 数据处理
Python在数据科学中的应用###
本文探讨了Python语言在数据科学领域的广泛应用及其重要性。通过分析Python的简洁语法、强大的库支持和跨平台特性,阐述了为何Python成为数据科学家的首选工具。文章还介绍了Python在数据处理、分析和可视化方面的具体应用实例,展示了其在提升工作效率和推动科学研究方面的巨大潜力。最后,讨论了未来Python在数据科学领域的发展趋势和挑战。 ###