程序猿大战Python——正则表达式——正则概述

news2024/12/24 2:48:46

正则表达式的概述

基本介绍

==目标:==了解什么是正则表达式?

正则表达式,也叫做规则表达式,通常会说成【正则】。

实际上,正则表达式就是指符合一定规则的字符串,同时它能用于检查一段文本数据是否与某种模式匹配。

比如,在网站注册新用户时,对用户名、手机号等的验证就使用了正则表达式。

在Python中,有一个专门用于处理正则表达式的模块:

# 导入模块
import re

在正则表达式中,可以使用单个字符或一段字符串来匹配满足正则规则的文本数据。而我们要学习的,就是正则规则。

在一些文本编辑器中,可以使用正则表达式来查找或替换一些文本。

例如,一起来完成:

(1)打开md笔记,查找到文本内容:[黑马程序员];

(2)接着,再把[黑马程序员]替换为:【[黑马程序员]】,并观察效果。

==总结:==

(1)正则表达式就是一段具有特殊含义的字符串,即正则表达式 == 字符串;

(2)注意:在Python中,若要操作正则表达式,要使用()模块。==A、re==;B、regex。

快速使用re模块

==目标:==掌握re模块的快速使用。

我们已经知道,可以使用re模块来操作正则表达式。

re模块常用方法:

函数名含义
match(pattern, string)返回一个已匹配成功的对象。其中,参数pattern表示正则字符串,参数string表示要匹配的内容。

当成功匹配数据后,结果存放在对象的函数:

函数名含义
group(num=0)匹配成功的内容,num默认是0,表示匹配的所有数据结果。

例如,一起来完成:

(1)使用正则快速验证手机号码是否合格;

(2)验证手机是否合格的条件有:手机号码以1开头且总位数为11位,全部为数字且不包含其他字符;

(3)根据要求,使用re模块完成对手机号码的验证。

import re

# 1.输入手机号码  13789896666
phone = "13789896666"
# phone = "1378989666622323"
# phone = "A3789896666"
# 2.匹配
regex = "[1][0-9]{10}$"   # 只匹配11位
matcher = re.match(regex,phone)
# print(matcher)
# *3.判断  --稳定
# if matcher != None:
if matcher is not None:
    print("手机号码是合格的!")
    # 4.获取结果
    result = matcher.group()
    print(f"结果:{result}")
else:
    print(f"{phone}不是标准格式的手机号码!!")

==总结:==

(1)如果要使用re模块来匹配数据,应该使用re模块的()匹配方法;==A、match()==;B、findall()。

(2)注意:当使用re模块未匹配到对应的数据时,会返回None。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

IND87520芯片介绍(二)

六、内部模拟调光 一个精确的10位DAC作为BUCK电流调节回路的参考发生器。与SPI通信时,DAC参考电压可由主机改变并调节电流在BUCK不断切换的同时,也会发生相应的变化。10位分辨率的DAC正在设计中满足电流变化平稳的要求。一个1.713mA电流步使光亮度连续变…

首次30米空间分辨率生成中国年度耕地栅格数据1986-2021

中国1986-2021年30米分辨率年度耕地数据集 数据介绍 精确、详细且及时的耕地范围信息对于粮食安全保障和环境可持续性至关重要。然而,由于农业景观的复杂性和足够训练样本的缺乏,在大范围下进行高时空分辨率的耕地动态监测仍然具有挑战性,尤其…

Matlab|【免费】含氢气氨气综合能源系统优化调度

目录 主要内容 部分代码 结果一览 下载链接 主要内容 该程序参考《_基于氨储能技术的电转氨耦合风–光–火综合能源系统双层优化调度》模型,对制氨工厂、风力发电、电制氢、燃气轮机、火电机组等主体进行建模分析,以火电机组启停成本、煤耗…

ubuntu中共享文件夹看不到了,解决方法

1、检查共享文件夹配置 2、创建 3、查看共享文件夹 4、另一问题,每次重启虚拟机后,共享文件夹又没了?

三大办公软件实用小技巧 沈阳办公软件白领必修班

Word 学好办公软件能大大的提升我们的工作效率。下面让我们一起学习一下Word办公软件时几个实用小技巧! 01.快速插入当前日期或时间 在使用Word办公软件进行文档的编辑处理时,如果需要在文章的末尾插入系统的当前日期或时间。通常情况下,我…

洞察用户需求,Xinstall数据统计App让你的App运营如虎添翼

在互联网时代,App推广和运营面临着前所未有的挑战。流量红利逐渐衰退,用户获取成本不断攀升,如何确保在多变的互联网环境下,迅速搭建起能时刻满足用户需求的运营体系,成为众多企业急待解决的问题。今天,我们…

disableSplitter(false)和requestInputBufSize(0)一样吗?

编译omx文件时,在disableSplitter(false)前加了requestInputBufSize(0)导致报错 hardware/media/hardware/omx/vdec/omx_vdec3.cpp" vendor/realtek/common/ATV/hardware/media/hardware/omx/vdec/omx_vdec3.cpp:245:3: error: field requestInputBufSize wi…

ONLYOFFICE 8.1:引领桌面办公新潮流,功能升级全面提升

目录 一、ONLYOFFICE是什么? 二、功能完善的PDF编辑器 三、幻灯片版式升级 四、改进从右至左显示 五、新的本地化选项 六、多媒体功能增强 七、应用价值探讨 一、ONLYOFFICE是什么? ONLYOFFICE 是一款功能强大的办公套件,旨在提供全面…

如何从0构建一款类似pytest的工具

Pytest主要模块 Pytest 是一个强大且灵活的测试框架,它通过一系列步骤来发现和运行测试。其核心工作原理包括以下几个方面:测试发现:Pytest 会遍历指定目录下的所有文件,找到以 test_ 开头或 _test.py 结尾的文件,并且…

ozon测评自养号必备技巧:提升账号质量,降低测评成本

OZON测评自养号技巧 1.提高店铺权重 自主测评:通过自养号的方式,卖家可以自主控制测评的时间和数量,为自己的listing进行测评,提高店铺权重。 策略调整:根据市场情况和商品特点,灵活调整测评策略&#x…

如何编写时区源文件

0、背景 ① 修改TZ环境变量改变时区不能立即生效。要求设置时区后立即生效,只能用修改/etc/localtime方式。 ② 原文作者 Bill Seymour,想要查看原文,点击官网地址https://www.iana.org/time-zones下载 zic 源码,源码目录中的 tz…

VS Code修改菜单栏字体大小

修改方法 打开VS Code,快捷键 CtrlShiftP,在弹出的输入框中输入 setting,找到带有JSON的一项,如图所示: 原文链接 window.zoomLevel 前后变化 终端字体大小 File -> Preferences -> Settings -> Features…

Linux驱动开发-02字符设备驱动开发初步

一、驱动开发的前期准备 在进入驱动开发之前,需要烧写UBoot、内核、设备树,做一些前期的准备工作,确保我们开发板上的内核版本和Ubuntu上是一致的才能进行正式开发 1.U-Boot 2.内核版本 3.使用TFTP挂载的内核和设备树 二、Linux驱动开发与裸机…

acme.sh泛证书申请

说明: 1、想每个项目都接入域名+端口访问,所以通过acme.sh申请泛域名证书 2、阿里云域名解析,并且指定公网ip地址对应的公共Nginx服务 3、acme.sh证书只有3个月,所以要用shell自动续签证书 4、阿里云域名已解析,所以二级域名、三级域名能正常解析,如下图所示, 一、阿里云…

大厂面试官问我:Redis内存淘汰,LRU维护整个队列吗?【后端八股文四:Redis内存淘汰策略八股文合集】

往期内容: 大厂面试官问我:Redis处理点赞,如果瞬时涌入大量用户点赞(千万级),应当如何进行处理?【后端八股文一:Redis点赞八股文合集】-CSDN博客 大厂面试官问我:布隆过滤…

SpringBoot集成Druid数据库连接池并配置可视化界面和监控慢SQL

pom.xml <!-- Druid 数据库连接池 --><dependency><groupId>com.alibaba</groupId><artifactId>druid-spring-boot-starter</artifactId><version>1.2.23</version></dependency>application.yml spring:jackson:date-…

【Qt之·类QTableWidget】

系列文章目录 文章目录 前言一、常用属性二、成员函数2.1 左上角空白区域 三、实例演示总结 前言 一、常用属性 二、成员函数 方法描述selectRow选中行removeRow移除行insertRow插入行rowCount总行数 2.1 左上角空白区域 QTableCornerButton即不属于列表头&#xff0c;也不…

病理性不对称引导的渐进学习用于急性缺血性脑卒中梗死分割| 文献速递-先进深度学习疾病诊断

Title 题目 Pathological Asymmetry-Guided Progressive Learning for Acute Ischemic Stroke Infarct Segmentation 病理性不对称引导的渐进学习用于急性缺血性脑卒中梗死分割 01 文献速递介绍 中风已经成为第二大致命疾病&#xff0c;大约70%的中风是缺血性的。众所周知…

Java家教系统小程序APP公众号h5源码

让学习更高效&#xff0c;更便捷 &#x1f31f; 引言&#xff1a;家教新选择&#xff0c;小程序来助力 在快节奏的现代生活中&#xff0c;家长们越来越注重孩子的教育问题。然而&#xff0c;如何为孩子找到一位合适的家教老师&#xff0c;成为了许多家长头疼的问题。现在&…

【马拉车 中心扩展】1745. 分割回文串 IV

本文涉及知识点 回文&#xff1a; 马拉车 中心扩展 划分性dp: 动态规划汇总 LeetCocde 1745. 分割回文串 IV 给你一个字符串 s &#xff0c;如果可以将它分割成三个 非空 回文子字符串&#xff0c;那么返回 true &#xff0c;否则返回 false 。 当一个字符串正着读和反着读是…