巩固学习7

正则表达式
就是用来找到符合模式的字符串,这些模式包括:是什么字符,重复多少次,在什么位置,有哪些额外的约束

找某个字符串

import re
text='身高:178 体重:168 学号:123456 密码:9527'
#在Python中,r前缀用于创建一个原始字符串(raw string)。
#原始字符串中的反斜杠字符将被视为普通字符而不是转义字符。这在处理正则表达式时很有用,因为正则表达式通常包含许多反斜杠。
print(re.findall(r'123456',text))#使用re的findall找到符合模式的字符串,这边还可以用in来判断
#结果为['123456'],因为只能找到一个

找某一类字符串

import re
text='身高:178 体重:168 学号:123456 密码:9527'
print(re.findall(r'\w',text))#d代表digital数字,w代表word字符
print(re.findall(r'[1-5]',text))#找到字符串中所有1-5的数字

重复的某一类字符串

import re
text='身高:178 体重:168 学号:123456 密码:9527'
print(re.findall(r'\d+',text))#d代表digital数字,w代表word字符
#d+表示可以是多个数字
#['178', '168', '123456', '9527']
print(re.findall(r'\d',text))#['1', '7', '8', '1', '6', '8', '1', '2', '3', '4', '5', '6', '9', '5', '2', '7']
print(re.findall(r'\d?',text))#?表示0个或一个数字
print(re.findall(r'\d*',text))#*表示零个或多个数字
print(re.findall(r'\d{3}',text))#*要求出现三个数字['178', '168', '123', '456', '952']
print(re.findall(r'\d{1,}',text))#表示大于等于1位的数字,‘,’右边若有数字表示小于等于多少

+?之类的统称为量词

多个条件

import re
#找到一个座机号码
text='电话是188123456789,他还有一个电话号码是18887654321.他的座机号码是0574-52112345'
#d代表digital数字,w代表word字符
print(re.findall(r'\d{3,4}-\d{7,8}',text))#找前面三到四位-后面七到八位数字,这是两个子模式的结合
print(re.findall(r'\d{3,4}-\d{7,8}|1\d{10}',text))#两种条件中间加或(|)就可以了

两种模式之间加或(|)

指定位置匹配

import re
#找到一个指定位置的座机号码
text='188987654321 电话是188123456789,他还有一个电话号码是18887654321.他的座机号码是0574-52112345'
#d代表digital数字,w代表word字符
print(re.findall(r'^1\d{10}|\d{4}-\d{8}$',text))#^表示匹配开头的字符串,结尾的$表示匹配结尾

写正则表达式的步骤
1.确认模式包含几个子模式
2.各个部分的字符分类分别是什么
3.各个部分如何重复
4.是否有外部位置限制
5.是否有内部限制

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

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

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

相关文章

vue项目创建 省略后缀名

vite.config.ts extensions: [".js", ".vue", ".json", ".ts", ".tsx"] // 使用路径别名时想要省略的后缀名,可以自己 增减 参考: vue项目创建 省略后缀名_在vuets项目中,如何能做到省略.vue后缀名-…

leetCode-hot100-位运算专题

例题中的视频讲解是B站中的宝藏博主的讲解视频,每道题后面都附有该题对应的视频链接~ 位运算知识总结 1.异或2.与运算和或运算3.左移和右移4.综合例题 1.异或 参考资料:位运算-异或,以下知识点讲解的内容参考了该篇博文,有兴趣的…

宝塔Linux面板5.9版本升级新版失败解决方法

下载地址:宝塔Linux面板5.9升级教程 宝塔5.9版本升级最新版宝塔失败,可以参考这份详细教程(不断更新中) 安装要求: Python版本: 2.6/2.7(安装宝塔时会自动安装) 内存:1…

Tkinter组件:Scrollbar-滚动条

Tkinter组件:Scrollbar Scrollbar(滚动条)组件用于滚动一些组件的可见范围,根据方向可分为垂直滚动条和水平滚动条。Scrollbar 组件常常被用于实现文本、画布和列表框的滚动。 1. 何时使用 Scrollbar 组件? Scrollb…

Centos7 配置 DNS服务器

Centos 7 配置DNS服务器 环境描述: 一台服务器和一台用于测试的客户机 服务器IP:192.168.200.132 客户机IP:192.168.200.143 服务器配置 yum install bind bind-utils -y #安装软件包vim /etc/named.conf //编辑named主配置文件listen-on p…

kafka 图形化

介绍 idea 中的一个插件 kafkalytic,kafka 图形化 简单又强大 安装 使用界面 总体信息 数据查看

【MySQL复合查询】

文章目录 一、基本的使用案例二、多表查询三、自连接四、子查询4.1单行子查询4.2多行子查询in关键字all关键字any关键字 4.3多列子查询4.4 在from子句中使用子查询 解决多表问题的本质五、合并查询1.union2.union all 一、基本的使用案例 注明:以下案例使用的均为一…

【JavaWeb】网上蛋糕商城后台-客户管理

概念 上文中已讲解和实现了后台管理系统中的订单管理功能,本文讲解客户信息管理功能。 客户信息列表 在后台管理系统的head.jsp头部页面中点击“客户管理”向服务器发送请求 在servlet包中创建AdminUserListServlet类接收浏览器的请求 package servlet;import m…

MySQL-InnoDB数据存储结构

1、存储结构-页 索引结构提供了高效的索引方式,索引信息以及数据记录都保存在数据文件或索引文件中(本质存储在页结构中) 1.1、磁盘与内存交互的基本单位:页 在InnoDB中将数据划分为若干页,页的默认大小为&#xff…

鸿蒙开发接口Ability框架:【AbilityMonitor】

AbilityMonitor AbilityMonitor模块提供匹配满足指定条件的受监视能力对象的方法的能力,最近匹配的能力对象将保存在AbilityMonitor对象中。 说明: 本模块首批接口从API version 9 开始支持。后续版本的新增接口,采用上角标单独标记接口的起…

浅析扩散模型与图像生成【应用篇】(二十四)——Text2Live

24. Text2LIVE : Text-Driven Layered Image and Video Editing 本文提出一种文本驱动的图像和视频编辑方法。与其他方法直接对图像进行编辑的方式不同,本文提出的方法并不是基于扩散模型的,更像是一个自编码器,通过对原图编码解码输出一个新…

【Linux系统化学习】守护进程 | 序列化和反序列化

目录 前言 守护进程 会话 进程组 setsid系统调用 守护进程系统调用 再谈协议 序列化和反序列化 Json 前言 上两篇文章我们所编写的服务器,并算不上真正意义上的服务器一般的服务器都是要随时能够访问的,就像我们在任何时间段都可以打开抖音获取…