首页 > 编程语言 >Python学习的自我理解和想法(23)

Python学习的自我理解和想法(23)

时间:2024-10-31 18:15:36浏览次数:6  
标签:字符 level Python 23 自我 语法 重复 正则表达式 子模式

学的是b站的课程(麦叔),跟老师写程序,不是自创的代码!

今天是学Python的第23天,学的内容是正则表达式。开学了,时间不多,写得不多,见谅。

目录

1.七个境界

level 1 固定的字符串

level 2 某一类字符串

level 3 重复某一类字符

level 4 组合level2

level 5 多种情况

level 6 限定位置

level 7 内部约束

2.写正则表达式的套路

(1).确定模式包含几个子模式

(2).各个部分的字符分类是什么

(3).各个部分如何重复

(4).检查是否有外部位置限制

(5).检查是否有内部制约关系

3.正则表达式的语法大全

(1).字符类别表达

(2). 字符重复的次数

(3). 组合模式

(4). 位置

(5). 分组

(6). 标记

(7). 特殊字符

(8). 替换

总结 


1.七个境界

level 1 固定的字符串

语法:找到是否含有一串字符串.

解析:r表示的是不进行转移,保留原字符串.

level 2 某一类字符串

语法:找到是否含有某一类字符串,如\d表示数字,\D表示不是数字,\w表示非标点符号的东西,[*****] 可以匹配符合标准的任意字符.

level 3 重复某一类字符

语法:+表示1-多个,?表示0个或者1个, * 表示0个或多个,{a,b}表示从范围在a到b之间的都行,a为0可以不写.

level 4 组合level2

用处:匹配特殊的数字,如座机电话,手机号码.

level 5 多种情况

用处:匹配电话号码,不限于是手机还是座机.

语法:| 表示或者,两者都行.

level 6 限定位置

用处:例如只要最前面的电话号码.

语法:^表示句子开头,$表示结尾

level 7 内部约束

用处:比如你要匹配个AA类型的数据.

语法:返回值是一个列表,列表里面又是一个元组,因为代码中有两个括号,括号将我们的结果分成了两个部分,(\1)使得第一个括号中匹配的内容不再单独匹配.

2.写正则表达式的套路

以包含分机号码的座机号码为例,比如说0571-88776655-9527.

(1).确定模式包含几个子模式

答案:3个,两两之间用-连接.

(2).各个部分的字符分类是什么

答案:这三个子模式都是数字类型,可以用\d,现在可以写出模式为:\d-\d-\d.

(3).各个部分如何重复

答案:第一个子模式重复3~4次,第二个子模式重复7~8次,第三个子模式重复3~4次.

加上限制次数后,模式成为: \d(3,4)-\d(7,8)-\d(3,4).

倒有些座机没有分机号,所以我们用或运算符让其支持两者:

\d(3,4)-\d(7,8)-\d(3,4) | \d(3,4)-\d(7,8)

(4).检查是否有外部位置限制

答案:没有

(5).检查是否有内部制约关系

答案:没有

3.正则表达式的语法大全

以下图片全是来自于视频(@麦叔编程 硬核Python进阶篇 - 一小时掌握正则表达式)的截图,如有侵权请联系作者删除,谢谢.

(1).字符类别表达

表达某一类字符,比如数字,字母,3~9之间的任意和数字等.

(2). 字符重复的次数

也叫做量词,比如身份证是数字重复15或18次.

(3). 组合模式

多个简单的模式组合在一起,可以使拼接,也可以是二者选其一.

(4). 位置

鉴定模式出现的位置,比如行首,行尾或者在特定字符之后等.

(5). 分组

把一个正则表达式分成几个部分,这样可以重复某个分组,或者指定两个分组必须相同等额外的要求.

(6). 标记

语法:flags=re.XX,XX表示标记语言.

(7). 特殊字符

匹配特殊的字符

(8). 替换

总结 

这是我今天学Python的自我想法和对其的理解,有不对的地方请同志们多多包涵,谢谢观看!

标签:字符,level,Python,23,自我,语法,重复,正则表达式,子模式
From: https://blog.csdn.net/Pocker_Spades_A/article/details/143309529

相关文章

  • Python SQLite数据库编程
    Python内置 SQLite库直接使用,简单,适合初学者。做更复杂软件,建议重新选用数据库从例子开始:示例代码:#导入模块importsqlite3#连接数据库,返回连接对象conn=sqlite3.connect("D:/my_test.db")#调用连接对象的execute()方法,执行SQL语句#(此处执行的是DDL语句,创......
  • micropython+ESP32S3+MFRC522射频卡模块读卡号
    参考连接:https://doc.itprojects.cn/A0004.iot/01.doc.c0e19433a76e2e42f143ba0ded917201/index.html#/q02.rfid.011)ESP32S3+MFRC522射频卡模块图 #接线说明#MFRC522_sck  =ESP32S3_Pin(14)#MFRC522_mosi=ESP32S3_Pin(13)#MFRC522_miso=ESP32S3_Pin(12)#MFRC......
  • Python——石头剪刀布(附源码+多模式二改优化版)
    编程初学者通常会从简单的项目开始,以建立基础并增强信心。石头剪刀布游戏是一个很好的起点,因为它涉及到基本的逻辑判断、用户输入处理和随机数生成。本文将详细介绍如何使用Python编写一个石头剪刀布游戏,并提供完整的代码和解释。目录一、游戏介绍二、基本代码解析与实现......
  • Python之pyserial模块 串口通信
    python之pyserial模块原文链接:https://www.cnblogs.com/sureZ-learning/p/17054481.htmlpyserial模块封装了对串口的访问,兼容各种平台(Windows、Linux、MACOS等)。其支持的特性如下:所有平台基于类的接口相同端口可以通过python来设置支持不同数据长度、停止位、奇偶校验位、流......
  • Python深度学习进阶与前沿应用(注意力机制详解、生成式模型详解、自监督学习模型详解、
    近年来,伴随着以卷积神经网络(CNN)为代表的深度学习的快速发展,人工智能迈入了第三次发展浪潮,AI技术在各个领域中的应用越来越广泛。注意力机制、Transformer模型(BERT、GPT-1/2/3/3.5/4、DETR、ViT、SwinTransformer等)、生成式模型(变分自编码器VAE、生成式对抗网络GAN、扩散模型Di......
  • ChatGPT、Python和OpenCV支持下的空天地遥感数据识别与计算(地质监测、城市规划、农业
    在科技飞速发展的时代,遥感数据的精准分析已经成为推动各行业智能决策的关键工具。从无人机监测农田到卫星数据支持气候研究,空天地遥感数据正以前所未有的方式为科研和商业带来深刻变革。原文链接:ChatGPT、Python和OpenCV支持下的空天地遥感数据识别与计算(地质监测、城市规划、......
  • 使用MicroPython开发ESP32系列单片机程序入门
    请参考网络ESP32教程地址:https://www.itprojects.cn/coursecenter-hardware.html以ESP32-S3为例讲述烧录固件过程1、下载Micropython固件。首次使用ESP32时,需要将micropython固件烧录到ESP32内。不同芯片,Micropython固件不同。固件下载地址 为:https://micropython.org/dow......
  • centos安装最新Python
    1.卸载现有Python版本sudoyumremovepython2.安装开发工具sudoyumgroupinstall"DevelopmentTools"-ysudoyuminstallopenssl-develbzip2-devellibffi-devel-y3.下载Python源代码curl-Ohttps://www.python.org/ftp/python/3.11.4/Python-......
  • socket在python下的使用
    socket在python下的使用-创建套接字对象-套接字对象方法-socket缓冲区与阻塞-粘包(数据的无边界性)-案例之模拟ssh命令-案例之文件上传1.1创建套接字对象Linux中的一切都是文件,每个文件都有一个整数类型的文件描述符;socket也可以视为一个文件对象,也有文件描述符。im......
  • Python GUI编程 tkinter编程
    tkinter编程思路比喻对于tkinter编程,主要用两个比喻来描述,重点理解容器、组件和布局管理器。 第一个,作画。我们都见过美术生写生的情景,先支一个画架,放上画板,蒙上画布,构思内容,用铅笔画草图,组织结构和比例,调色板调色,最后画笔勾勒。相应的,对应到tkinter编程,那么我们的显示屏就是支......