【Python-正则表达式】

server/2024/9/23 22:40:41/

Python-正则表达式

  • ■ 基础匹配
    • ■ match 从头匹配
    • ■ search 搜索匹配
    • ■ findall 搜索全部匹配
    • ■ 综合
  • ■ 元字符匹配
    • ■ r'[b-eF-Z3-9]' r表示意思
    • 正则表达式使用元字符进行匹配
    • ■ 匹配账号,只能由字母和数字组成,长度限制6到10位
    • ■ 匹配QQ号,要求纯数字,长度5-11,第一位不为0
    • ■ 匹配邮箱地址,只允许qq、163、gmail这三种邮箱地址
    • ■ 综合

■ 基础匹配

■ match 从头匹配

python">import re
s = "1python itheima python python"
# match 从头匹配
result = re.match("python", s)
print(result)

■ search 搜索匹配

python">import re
s = "1python itheima python python"
# search 搜索匹配
result = re.search("python2", s)
print(result)

■ findall 搜索全部匹配

python">import re
s = "1python itheima python python"
# findall 搜索全部匹配
result = re.findall("python", s)
print(result)

■ 综合

python">"""
演示Python正则表达式re模块的3个基础匹配方法
"""
import res = "1python itheima python python"
# match 从头匹配
result = re.match("python", s)
print(result)
# print(result.span())
# print(result.group())
# search 搜索匹配result = re.search("python2", s)
print(result)
# findall 搜索全部匹配
result = re.findall("python", s)
print(result)

■ 元字符匹配

■ r’[b-eF-Z3-9]’ r表示意思

字符串前面带上r的标记,表示字符串中转义字符无效,就是普通字符的意思

正则表达式使用元字符进行匹配

python">"""
演示Python正则表达式使用元字符进行匹配
"""
import re
# s = "itheima1 @@python2 !!666 ##itccast3"
#
# result = re.findall(r'[b-eF-Z3-9]', s)   # 字符串前面带上r的标记,表示字符串中转义字符无效,就是普通字符的意思
# print(result)

■ 匹配账号,只能由字母和数字组成,长度限制6到10位

python"># r = '^[0-9a-zA-Z]{6,10}$'
# s = '123456_'
# print(re.findall(r, s))

■ 匹配QQ号,要求纯数字,长度5-11,第一位不为0

python">r = '^[1-9][0-9]{4,10}$'
s = '123453678'
print(re.findall(r, s))

■ 匹配邮箱地址,只允许qq、163、gmail这三种邮箱地址

python"># abc.efg.daw@qq.com.cn.eu.qq.aa.cc
# abc@qq.com
# {内容}.{内容}.{内容}.{内容}.{内容}.{内容}.{内容}.{内容}@{内容}.{内容}.{内容}
r = r'(^[\w-]+(\.[\w-]+)*@(qq|163|gmail)(\.[\w-]+)+$)'
# s = 'a.b.c.d.e.f.g@qq.com.a.z.c.d.e'
s = 'a.b.c.d.e.f.g@126.com.a.z.c.d.e'
print(re.match(r, s))

■ 综合

python">"""
演示Python正则表达式使用元字符进行匹配
"""
import re# s = "itheima1 @@python2 !!666 ##itccast3"
#
# result = re.findall(r'[b-eF-Z3-9]', s)   # 字符串前面带上r的标记,表示字符串中转义字符无效,就是普通字符的意思
# print(result)# 匹配账号,只能由字母和数字组成,长度限制6到10位
# r = '^[0-9a-zA-Z]{6,10}$'
# s = '123456_'
# print(re.findall(r, s))# 匹配QQ号,要求纯数字,长度5-11,第一位不为0
# r = '^[1-9][0-9]{4,10}$'
# s = '123453678'
# print(re.findall(r, s))# 匹配邮箱地址,只允许qq、163、gmail这三种邮箱地址
# abc.efg.daw@qq.com.cn.eu.qq.aa.cc
# abc@qq.com
# {内容}.{内容}.{内容}.{内容}.{内容}.{内容}.{内容}.{内容}@{内容}.{内容}.{内容}
r = r'(^[\w-]+(\.[\w-]+)*@(qq|163|gmail)(\.[\w-]+)+$)'
# s = 'a.b.c.d.e.f.g@qq.com.a.z.c.d.e'
s = 'a.b.c.d.e.f.g@126.com.a.z.c.d.e'
print(re.match(r, s))

http://www.ppmy.cn/server/10832.html

相关文章

MySQL慢SQL优化方案汇总

⛰️个人主页: 蒾酒 🔥系列专栏:《mysql经验总结》 🌊山高路远,行路漫漫,终有归途 目录 写在前面 优化思路 避免查询不必要的列 分页优化 索引优化 JOIN优化 排序优化 UNION 优化 写在最后 写在前面 本…

南京邮电大学数学实验A 作业2 矩阵代数 答案 | 《MATLAB数学实验》第三版 第三章 课后习题答案

若要获得更好的阅读体验,请前往 链接。 1(课本习题1) 设a=(1, 2, 3), b=(2, 4, 3), 分别计算a./b, a. \b, a/b, a \b,分析结果的意义. 答: a./b: a中的每一个元素除以b中的对应元素 a.\b: b中的每一个元素除以a中的对应位置的元素 a/b: a左除b,即矩阵方程ax=b的解 a\…

SpringBoot如何集成MyBatis可以通过几个简单的步骤来实现

在SpringBoot中集成MyBatis可以通过几个简单的步骤来实现。以下是一个基本的步骤指南: 步骤1:添加依赖 首先,你需要在你的pom.xml文件中添加MyBatis和数据库的依赖。例如,如果你使用MySQL数据库,你可以添加以下依赖&…

一文读懂企业内部wiki:含义、作用、如何搭建

在如今这个信息化、数字化的时代,许多公司的知识管理工具发展成了必不可少的企业内部wiki。那么,什么是企业内部wiki,它的作用是什么?应该如何搭建?这就是今天我们要来说的三个问题。一起来看看。 一、企业内部wiki的含…

数据结构OJ:设计循环队列

题目介绍 本题为LeetCode上的经典题目,题目要求我们设计一种循环队列,满足FIFO原则且队尾被连接在队首之后。 思路讲解 题目中介绍循环队列的好处是可以重复利用空间,所以我们很容易想到在初始化时即开辟指定大小的空间,之后便不…

vue纯前端实现表格分页及条件查询功能

由于接口返回数据过慢&#xff0c;故而采用前端对数据进行处理分页的方法实现表格分页及条件查询。 一、表格 表格采用elementUI的el-table&#xff0c;只需要对数据data进行处理赋值即可。 <el-table:data"tableData"style"width: 100%"><el-t…

SIMRAD AP48 自动舵控制器维修用于 Continuum 自动驾驶仪系统Simrad显示器仪器深圳捷达工控维修

AP48 自动驾驶仪控制器是一款用于 Continuum 自动驾驶仪系统的高级专用控制头&#xff0c;采用现代玻璃舵造型进行了增强。 AP48 专为各种条件下的响应能力和易用性而设计&#xff0c;将大型铝制旋转控制旋钮与专用的“闪避键”配对&#xff0c;以 1 度或 10 度的增量调整左舷…

智能时代 | 合合信息Embedding模型荣获C-MTEB榜单第一

目录 前言 1. MTEB与C-MTEB 2. acge模型的优势 3. Embedding模型应用 4. 大模型发展的关键技术 结语 前言 随着人工智能的不断发展&#xff0c;大语言模型吸引着社会各界的广泛关注&#xff0c;支撑模型应用落地的Embedding模型成为业内的焦点&#xff0c;大模型的发展给…