【Python篇】详细讲解正则表达式

news2024/12/24 9:06:55

文章目录

  • 🌹什么是正则表达式
  • 🍔语法
    • 字符类别
    • 重复次数
    • 组合模式
  • ✨例子

🌹什么是正则表达式

正则表达式(Regular Expression),简称为正则或正则表达式,是一种用于匹配、查找和操作文本字符串的工具。它是通过一种特定的语法规则来描述字符串模式的表达方式。

正则表达式由各种字符和特殊字符组成,可以用来定义一个搜索模式。通过使用正则表达式,可以快速有效地检索、替换和验证字符串。

🍔语法

字符类别

正则匹配
a,b,1,2字符常量,写什么就是什么
\d一个数字
\D一个非数字字符
\s一个空格
\S一个非空格
\w一个任意字母,数字,汉字,下划线 字符
\W与\w相反
[abc]a,b,c中的任意一个字符
[a-e] [1-9]从a到e之间的任意一个字符,从1到9之间任意一个字符
[^a-d]取反,除了a,b,c,d之外的任意一个字符
.除了\n之外的任意一个字符,谁都行

重复次数

比如身份证是数字重复15次或者18次,就是:\d{15} 或者 \d{18}

正则匹配
*0或者多个
+1或多个
0或1个
{2}2个
{2,5}2到5个
{2,}至少2个
{,5}最多5个

组合模式

组合含义
\d{6}[a-z]{6}6个数字后面跟着6个小写字母
()分组,(abc){3}表示abcabcabc

✨例子

在这里插入图片描述
注意上面两种方式的区别
在这里插入图片描述

正则表达式 r’(\w{3})(\1)’ 包含了两个组:

  • 第一个组 (\w{3}) 匹配任意三个字母或数字字符
  • 第二个分组 (\1) 匹配到的内容和第一个分组匹配到的内容相同

这里的 \1 是反向引用,表示与第一个组匹配的内容相同的内容。
最后,re.findall 函数将所有匹配到的第一组内容组成的列表作为结果返回

在技术的道路上,我们不断探索、不断前行,不断面对挑战、不断突破自我。科技的发展改变着世界,而我们作为技术人员,也在这个过程中书写着自己的篇章。让我们携手并进,共同努力,开创美好的未来!愿我们在科技的征途上不断奋进,创造出更加美好、更加智能的明天!

在这里插入图片描述

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

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

相关文章

还在犹豫Harmony要不要学?已有170万人参加官方培训

鸿蒙这么火,要不要学? 两百强的 App厂商,大部分接受了与鸿蒙的合作,硬件也有非常多与鸿蒙合作的厂商。鸿蒙的合作企业基本已经覆盖整个互联网客户的主流需求;所以鸿蒙的崛起不过是早晚的问题。随着鸿蒙4.0的升级&…

Linxu 进程替换

进程替换的背景: 进程的替换我们需要调用execl这个接口,exxecl在3号手册,属于系统接口。 调用系统命令 execl 为了方便理解execl的作用,我们写一个程序: 单进程替换 我们发现运行结果是通过c库里的exec接口把系统命令 "l…

3 Unsupervised learning recommenders reinforcement learning

文章目录 Week1Unsupervised LearningClusteringK-meansprincipleOptimization objectiveInitializing K-meanschose the number of clusters Anomaly DetectionFind unusual eventsAlgorithmchose epsilonAnomally Detection vs Supervised learningfeatures Week2Recommender…

LeetCode Hot100 114.二叉树展开为链表

题目: 给你二叉树的根结点 root ,请你将它展开为一个单链表: 展开后的单链表应该同样使用 TreeNode ,其中 right 子指针指向链表中下一个结点,而左子指针始终为 null 。展开后的单链表应该与二叉树 先序遍历 顺序相同…

力扣114. 二叉树展开为链表(java,用树模拟链表)

Problem: 114. 二叉树展开为链表 文章目录 题目描述思路解题方法复杂度Code 题目描述 给你二叉树的根结点 root ,请你将它展开为一个单链表: 1.展开后的单链表应该同样使用 TreeNode ,其中 right 子指针指向链表中下一个结点,而左…

C/C++ 通过SQLiteSDK增删改查

SQLite,作为一款嵌入式关系型数据库管理系统,一直以其轻量级、零配置以及跨平台等特性而备受青睐。不同于传统的数据库系统,SQLite是一个库,直接与应用程序一同编译和链接,无需单独的数据库服务器进程,实现…

FFmpeg命令分隔视频

有一个视频如a.mp4,此视频采用帧率为30生成,共有299帧,这里通过FFmpeg命令分隔成1秒一个个的小视频,即每个小视频帧数为30帧。 用到的FFmpeg参数如下所示: (1).-i:指定输入视频文件的名称; (2).-c:指…

BUUCTF [MRCTF2020]Ez_bypass 1

题目环境:F12查看源代码 I put something in F12 for you include flag.php; $flagMRCTF{xxxxxxxxxxxxxxxxxxxxxxxxx}; if(isset($_GET[gg])&&isset($_GET[id])) { $id$_GET[id]; $gg$_GET[gg]; if (md5($id) md5($gg) && $id ! $gg) { …

Node.js下载安装及配置镜像源

一、进入官网地址下载安装包 https://nodejs.org/dist 选择对应你系统的Node.js版本 这里我选择的是Windows系统、64位 二、安装程序 (1)下载完成后,双击安装包,开始安装Node.js (2)直接点【Next】按钮,此处可根据…

终于来了,Runway gen2 制作AI视频的全功能超详细使用教程

最近有好几个学员私信我们,让我出一期Runway完整的使用教程,刚好11月Runway对外发布运动涂笔等新功能,那么今天就给大家安排一期全功能,超详细的从Gen1到Gen2的使用教程。 Runway 是国外一家在线视频剪辑制作网站,作为…

el-uploader同一文件无法上传问题

在上传成功和失败的回调方法中,吊用一下clearFiles方法。 this.$refs.upload.clearFiles();

7、独立按键控制LED状态

按键的抖动 对于机械开关&#xff0c;当机械触点断开、闭合时&#xff0c;由于机械触点的弹性作用&#xff0c;一个开关在闭合时不回马上稳定地接通&#xff0c;在断开时也不会一下子断开&#xff0c;所以在开关闭合及断开的瞬间会伴随一连串的抖动 #include <REGX52.H…

C++知识点总结(7):玩转高精度除法

一、复习高低精度 一个数分为两种类型&#xff1a; 1. 高精度数&#xff0c;即一个长度特别长的数&#xff0c;使用 long long 也无法存储的一类数字。 2. 低精度数&#xff0c;即一个普通的数&#xff0c;可以使用 long long 来存储。 由于高精度除法比较简单&#xff0c;…

Android修行手册-ViewPager定制页面切换以及实现原理剖析

Unity3D特效百例案例项目实战源码Android-Unity实战问题汇总游戏脚本-辅助自动化Android控件全解手册再战Android系列Scratch编程案例软考全系列Unity3D学习专栏蓝桥系列ChatGPT和AIGC &#x1f449;关于作者 专注于Android/Unity和各种游戏开发技巧&#xff0c;以及各种资源分…

PaddleOCR学习笔记

Paddle 功能特性 PP-OCR系列模型列表 https://github.com/PaddlePaddle/PaddleOCR#%EF%B8%8F-pp-ocr%E7%B3%BB%E5%88%97%E6%A8%A1%E5%9E%8B%E5%88%97%E8%A1%A8%E6%9B%B4%E6%96%B0%E4%B8%AD PP-OCR系列模型列表&#xff08;V4&#xff0c;2023年8月1日更新&#xff09; 配置文…

我叫:希尔排序【JAVA】

1.我兄弟存在的问题 2.毛遂自荐 希尔排序提希尔(Donald Shell)于1959年提出的一种排序算法。 希尔排序&#xff0c;也称递减增量排序算法&#xff0c;是插入排序的一种更高效的改进版本。但希尔排序是非稳定排序算法。 希尔排序是基于插入排序的以下两点性质而提出改进方法的&…

串口虚拟化工具

串口虚拟工具(Configure Virtual Serial Port Driver v7.2) 可以虚拟化串口 串口成对添加&#xff0c;添加之后可以在设备管理器中查看 链接&#xff1a;https://pan.baidu.com/s/1WE9c28MEoSEY7fGhy4kjag 提取码&#xff1a;yahn DebugTool-v.16 作用&#xff1a;可以检验…

Linux踩坑:arm下gcc编译添加 -Ox 优化后,程序无法正常运行

arm下gcc编译添加 -Ox 优化后&#xff0c;程序无法正常运行 一、问题描述 今天学习正点原子的阿尔法开发板裸机开发的时候&#xff0c;遇到了一个问题&#xff0c;在没有使用 -Ox 优化的时候&#xff0c;编译出来的程序能够正常运行&#xff0c;但是添加了-Ox之后&#xff0c…

思维模型 心里摆效应

本系列文章 主要是 分享 思维模型&#xff0c;涉及各个领域&#xff0c;重在提升认知。情绪受外界影响。 1心里摆效应的应用 1.1 心理摆效应在管理团队中的应用 谷歌公司是一家以创新和创造力著称的科技公司&#xff0c;其“20%时间”政策是该公司管理团队的一个经典案例。该…

面试必问:如何快速定位BUG?BUG定位技巧及N板斧!

01 定位问题的重要性 很多测试人员可能会说&#xff0c;我的职责就是找到bug&#xff0c;至于找原因并修复&#xff0c;那是开发的事情&#xff0c;关我什么事&#xff1f; 好&#xff0c;我的回答是&#xff0c;如果您只想做一个测试人员最基本最本分的事情&#xff0c;那么可…