python正则表达式以及re模块的运用完成文本处理(搜索、匹配、替换等文本操作)

1.正则表达式
正则表达式是一种强大的文本处理工具,用于搜索、匹配、替换等文本操作。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.通过re模块实现正则表达式的操作
Python中的re模块是Python的标准库之一,它提供了对正则表达式的支持。正则表达式是一种强大的文本处理工具,用于搜索、匹配、替换等文本操作。re模块的主要功能包括:

  • 编译正则表达式:将正则表达式的字符串形式编译成一个模式对(Pattern Object),这样可以提高匹配的效率。
  • 匹配(查找):在字符串中查找与正则表达式匹配的部分。
  • 搜索:在字符串中搜索第一个与正则表达式匹配的部分。
  • 替换:在字符串中替换与正则表达式匹配的部分。
  • 分割:使用正则表达式分割字符串。

可以参考下边函数:
注意split()得到的结果是一个列表在这里插入图片描述
在这里插入图片描述

也可以参考下边使用:

基本用法

导入re模块import re

编译正则表达式

pattern = re.compile(r'\bfoo\b')

这里,r’\bfoo\b’是一个原始字符串表示的正则表达式,\b表示单词边界,foo是要匹配的文本。
原始字符串(在字符串前加r)用于避免在正则表达式中的转义字符被Python字符串的解析器处理。

匹配(match)
match()函数从字符串的起始位置开始匹配,如果起始位置匹配成功,则返回一个匹配对象,否则返回None。

match = pattern.match('foo bar')  
if match:  print("Match found:", match.group())  
else:  print("No match")

搜索(search)
search()函数在字符串中搜索第一个匹配项,如果找到匹配项,则返回一个匹配对象,否则返回None。

search = pattern.search('bar foo baz')  
if search:  print("Search found:", search.group())  
else:  print("No search found")

查找所有匹配项(findall
findall()函数在字符串中查找所有与正则表达式匹配的项,并返回一个列表。

matches = pattern.findall('foo bar foo baz foo')  
print(matches)  # 输出: ['foo', 'foo', 'foo']

替换(sub)
sub()函数用于替换字符串中所有与正则表达式匹配的子串。

new_string = pattern.sub('bar', 'foo bar foo baz')  
print(new_string)  # 输出: bar bar bar baz

分割(split)
split()函数根据正则表达式的匹配项来分割字符串。

words = re.split(r'\s+', 'foo    bar baz   ')  
print(words)  # 输出: ['foo', 'bar', 'baz']

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

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

相关文章

AI赋能招聘:效率与公平的双重提升

一、引言:AI赋能招聘新纪元 在21世纪的数字化浪潮中,人工智能(AI)技术以前所未有的速度渗透到社会经济的各个领域,深刻地改变着我们的生活方式与工作模式。人力资源管理,作为企业战略的重要组成部分&#…

[C++][opencv]基于opencv实现photoshop算法色相和饱和度调整

【测试环境】 vs2019 opencv4.8.0 【效果演示】 【核心实现代码】 HSL.hpp #ifndef OPENCV2_PS_HSL_HPP_ #define OPENCV2_PS_HSL_HPP_#include "opencv2/core.hpp" using namespace cv;namespace cv {enum HSL_COLOR {HSL_ALL,HSL_RED,HSL_YELLOW,HSL_GREEN,HS…

在IIS上部署ASP.NET Core Web API和Blazor Wasm详细教程

前言 前段时间我们完成了七天.NET 8 操作 SQLite 入门到实战的开发系列教程,有不少同学留言问如何将项目发布部署到IIS上面运行。本篇文章我们就一起来讲讲在IIS上部署ASP.NET Core Web API和Blazor Wasm。 前提条件 安装.NET Core SDK https://dotnet.microsoft…

【学习笔记】Day 10

一、进度概述 1、《地震勘探原理》第三章 二、详情 3.1 野外工作概述 主要介绍地上与海上两种情况下的测量方法,这里不做详解,需要就看书。 其中简况分为:试验工作,生产工作过程,干扰波调查,干扰…

allegro PCB设计心得笔记(四) -- 显示坐标原点和更改默认产品选项

一、修改坐标原点 Allegro PCB设计过程中,有时需要修改坐标原点,但是PCB文件不显示坐标原点,无法确认已修改的坐标原点是否已经修改好。 显示PCB原点的设置方法如下: Setup -> Design Parameter Editor,如下图所示&…

[C++][opencv]基于opencv实现photoshop算法图像剪切

【测试环境】 vs2019 opencv4.8.0 【效果演示】 【核心实现代码】 //图像剪切 //参数:src为源图像, dst为结果图像, rect为剪切区域 //返回值:返回0表示成功,否则返回错误代码 int imageCrop(InputArray src, OutputArray dst,…

8.3.数据库基础技术-关系代数

并:结果是两张表中所有记录数合并,相同记录只显示一次。交:结果是两张表中相同的记录。差:S1-S2,结果是S1表中有而S2表中没有的那些记录。 笛卡尔积:S1XS2,产生的结果包括S1和S2的所有属性列,并且S1中每条记…

大数据知识点

VMWare 设置网段 虚拟机设置 JDK部署 云平台 创建VPC 找到阿里云控制台里的VPC,点击专有网络 安全组 搁置…有需要再使用,因为每月要花200左右 大数据 数据导论

merfish数据进行可视化

参考博客 https://scanpy.readthedocs.io/en/stable/tutorials/spatial/basic-analysis.html example import scanpy as sc import pandas as pd import matplotlib.pyplot as plt import seaborn as snscoordinates pd.read_excel("./data/pnas.1912459116.sd15.xlsx…

分布式性能监控之SkyWalking

Apache SkyWalking 是一款开源的分布式应用性能监控和管理工具,旨在为微服务、云原生和容器化环境提供全面的性能分析和监控解决方案。它在分布式系统中起着关键作用,帮助开发者和运维人员实时监控应用程序的性能、定位问题,并优化系统。以下…

计算机的错误计算(六十)

摘要 用另一种方法计算计算机的错误计算(五十五)中案例:先使自变量与 取余,再计算取余后的余弦值,这时,得到了不同的输出。因此,即使不清楚正确结果,Python 与 Visual Studio 也各自…

加强混合工作时代的组织网络安全态势

随着组织转向采用和实施混合和远程工作模式,网络安全的重要性从未如此重要。虽然工作场所的这种演变提供了灵活性并有望提高生产力,但它也带来了组织无法忽视的无数网络安全挑战。多样化工作环境的整合需要强大的安全措施、创新的保护策略和警惕的文化&a…

Python | Leetcode Python题解之第332题重新安排行程

题目: 题解: class Solution:def findItinerary(self, tickets: List[List[str]]) -> List[str]:def dfs(curr: str):while vec[curr]:tmp heapq.heappop(vec[curr])dfs(tmp)stack.append(curr)vec collections.defaultdict(list)for depart, arri…

C++基础知识:类作为友元,以及相关代码案例

1.类作为友元&#xff0c;以及相关代码案例 #include<iostream> using namespace std;#include<string>//类做友元 class Building; class GoodGay { public:GoodGay();void visit();//参观函数 访问Building中的属性Building* building; };class Building {//加了…

从零搭建React全家桶框架教程:快速搭建react+react-router+redux项目

搭建基本的react项目 我们使用create-react-app(npm要全局安装create-react-app)快速创建一个react项目&#xff1a; npx create-react-app my-app cd my-app npm start启动成功后&#xff0c;就可以看到react的页面啦。接下来我们稍稍调整下项目的目录结构和页面内容&#xff…

Windows Server 使用Docke部署挂载问题(安装后无限重启崩溃迁移镜像到D盘打包镜像)

文章目录 前言一、问题&#xff1a;无限重启崩溃尝试&#xff1a;权限不足&#xff1f;解决&#xff1a;用Docker-Compose安装并挂载数据卷 二、问题&#xff1a;镜像磁盘默认挂载在C盘尝试&#xff1a;通过修改Docker修改镜像磁盘到D盘解决&#xff1a;通过修改docker的settin…

深度学习 —— 个人学习笔记14(ResNet、DenseNet)

声明 本文章为个人学习使用&#xff0c;版面观感若有不适请谅解&#xff0c;文中知识仅代表个人观点&#xff0c;若出现错误&#xff0c;欢迎各位批评指正。 二十八、残差网络&#xff08; ResNet &#xff09; import torch import torchvision import time from torch impo…

Nginx代理websocket连接

文章目录 Nginx代理websocket连接1. 引言2. 为什么需要Nginx代理WebSocket3. Nginx代理WebSocket的实现步骤步骤1&#xff1a;确保Nginx支持WebSocket步骤2&#xff1a;修改Nginx配置文件步骤3&#xff1a;重启Nginx服务步骤4&#xff1a;验证配置 Nginx代理websocket连接 1. …

AI学习记录 - torch 的 matmul ,也就是点积的一些试验

有用大佬们点点赞 1、两个一维向量点积 &#xff0c;求 词A 与 词A 之间的关联度 2、两个词向量之间求关联度&#xff0c;求 : 词A 与 词A 的关联度 5 词A 与 词B 的关联度 11 词B 与 词A 的关联度 11 词B 与 词B 的关联度 25 刚刚好和矩阵乘法符合&#xff1a; 3、什么是…

Python | Leetcode Python题解之第329题矩阵中的最长递增路径

题目&#xff1a; 题解&#xff1a; class Solution:DIRS [(-1, 0), (1, 0), (0, -1), (0, 1)]def longestIncreasingPath(self, matrix: List[List[int]]) -> int:if not matrix:return 0rows, columns len(matrix), len(matrix[0])outdegrees [[0] * columns for _ in…