python正则表达式

Python正则表达式详解 1. 正则表达式简介on简单翻译为”有规则的表达式“,即该表达式是一条规则,正则表达式引擎能够根据这条规则,在字符串中寻找所有符合规则的部分-》正则表达式是一个特殊的字符序列,方便检查一个字符串是否与某种模式匹配-》Python 自1.5版本起增加了re 模块(标准库),Python通过re模块提供对正则表达式的支持。 阅读详情

参考:

官方文档https://docs.python.org/zh-cn/3.7/library/re.html

怎么用https://docs.python.org/zh-cn/3.7/howto/regex.html#regex-howto

基本梳理和基本例子https://www.cnblogs.com/peng8098/p/python_basis_6.html

实际例子https://itbyc.com/Python/20353.html

经典例子https://blog.youkuaiyun.com/Flexin__/article/details/80023191

在线测试工具https://blog.youkuaiyun.com/z714405489/article/details/83217567

项目案例:罗攀,蒋仟《从零开始学Python网络爬虫》

https://www.jb51.net/article/170600.htm

正则表达式引擎in python https://www.cnblogs.com/secoding/p/11576864.html(代码https://github.com/dejavudwh/Regex)

不错的讲解:http://www.regexlab.com/zh/regref.htm(注意未必与python的正则表达式规则相同)

 

学习过程:1. 大概的使用方法,2. 需要的积累查阅,3. 系统的总结沉淀

1. 大概的使用方法

  • 常见规则

一般字符:., \, [...]

预定义字符集:\d, \D, \s, \S, \w, \W

数量词:*, +, ?, {m}, {m,n}

边界匹配:^, $, \A, \Z, \b

常见例子:re.S模式下, r‘(.*?)’表示以非贪婪模式匹配任何字符(如果不是re.S模式,则表示除了\n之外的任何字符),返回括号中的模式内容,具体使用见2.中非贪婪模式例子

注意:\w包含数字,字母以及下划线,但是不包括-

例子:

result1 = re.findall(r'\w{2}', '_21-c34d-56_e78')
print(result1) #输出:['_2', 'c3', '4d', '56', '_e', '78']
  • 匹配方法

import re

results = re.findall(patt, string, flags)

例子:

result1 = re.findall(r'\d{2}', '21c34d56e78')
print(result1) #输出:['21', '34', '56', '78']
  • 替换方法
import re
s="我是(一个人)(中国人)aaa[真的]bbbb{确定}".replace("(", "(").replace(")", ")")
a = re.sub(r"\(.*?\)", "", s)
print(a)  #我是aaa[真的]bbbb{确定}
  • 分裂方法

2. 需要的积累查阅

  • 非贪婪模式  *?

例子:

result3 = re.findall(r'<p>(.*?)</p>', '<p>21c34d56e78</p>abc<p></p>7634', re.S)
print(result3) #输出:['21c34d56e78', '']

 

3. 系统的总结沉淀

 

【Python】正则表达式 想象一下,您需要从海量的日志文件中找出所有IP地址,或者从一个HTML文档中提取所有的超链接,再或者验证用户输入是否符合邮箱地址的格式。这些任务如果仅仅依赖于字符串的循环遍历、、、、等方法,将会变得异常繁琐、代码冗长且难以维护。例如,要判断一个字符串是否包含数字: 上述代码能够解决“是否包含数字”的问题,但是如果需求变成“是否包含一个由3到5位数字组成的序列”,或者“是否包含一个以’http://'或’https://'开头的URL”,那么简单的循环判断就会变得异常复杂,甚至难以实现。这正是正则表达式大显 阅读详情

相关推荐

Python高级正则表达式

介绍 在我们教程的正则表达式介绍中,我们已经介绍了正则表达式的基本原理。我们已经展示了最简单的正则表达式的样子。我们还学习了如何通过使用 re 模块的 search() 和 match() 方法在 Python 中使用正则表达式。制定和使用字符类的概念,以及预定义的字符类,如 \d、\D、\s、\S 等,现在应该是众所周知的。您一定已经学会了如何使用正则表达式匹配字符串的开头和结尾。您必须知道问号的特殊含义才能使项目可选。我们还引入了量词来任意或在特定范围内重复字符和组。 您还必须熟悉分组的使用以及

pythonandaiot的博客 999

正则表达式匹配单个字符(.、[]、\d、\D、\s、\S、\w、\W)

正则表达式之匹配单个字符 1. 匹配单个字符 代码 功能 . 匹配任意1个字符(除了\n) 【匹配\n时会报错】 [ ] 匹配[ ]中列举的字符 【匹配[ ]中的任何一个字符】 \d 匹配数字,即0-9 \D 匹配非数字,即不是数字 \s 匹配空白,即 空格,tab键 【都是空白】 \S 匹配非空白 \w 匹配非特殊字符,即a-z、A-Z、0-9、_、汉字 \W 匹配特殊字符,即非字母、非数字...

IT之一小佬的博客 1万+

Python:进阶 Python3 正则表达式

在 Python 中,`re` 模块让我们可以轻松运用正则表达式。

Kant2048的博客 1570

Python正则表达式 .,[],\d,\w,\s,\S,\D,\W的用法

  下列这些都是一个代码匹配一个字符(即代码,字符一一对应才能匹配成功) 代码 功能 . 匹配任意1个字符(除了\n) [ ] 匹配[ ]中列举的字符 \d 匹配数字,即0-9 \D 匹配非数字,即不是数字 \s 匹配空白,即 空格,tab键 \S 匹配非空白 \w 匹配非特殊字符,即a-z、A-Z、0-9、_、汉字 ...

qq_34776336的博客 11万+

Comsol单层焊缝焊接数值模拟:温度场与应力场全流程解析

在工程制造领域,有限元模拟是研究焊接热-力行为、优化工艺参数的重要工具。焊接过程涉及强烈的局部加热和快速冷却,材料经历复杂的非线性和相变,必须通过瞬态分析和热-力顺序耦合,才能准确捕捉移动热源作用下的温度演化与应力塑性积累。这一技术广泛应用于压力容器、船舶结构、车辆制造等场景,用以预测残余应力与变形、评估冷裂纹风险,并为工艺设计提供定量支撑。焊接数值模拟能否真正指导实践,关键在于热源校核、随温度变化的材料参数、合理的边界条件与网格策略。单层焊缝作为焊接模拟的基础模型,涵盖了移动热源加载、熔池形成、高温软化与

weixin_30444111的博客 220

Unity事件总线第一篇:为什么你的游戏需要一个事件总线?

本文探讨了游戏开发中常见的跨模块调用导致代码强耦合的问题。通过一个攻击按钮触发角色攻击、怪物掉血和血条更新的案例,分析了直接调用方式带来的维护困难、扩展性差和模块重用性低等弊端。文章提出使用事件总线(Event Bus)作为解决方案,通过发布-订阅模式实现模块解耦。重构后的代码中,各模块只需与事件总线交互,彼此不再直接依赖。这种设计使得新增功能(如音效)无需修改现有代码,大大提高了系统的可维护性和扩展性,同时增强了模块的重用性,完美体现了开闭原则。

qq_46348216的博客 1298

Python_正则(re.math()的简单说明)

正则match match:从开头匹配 需要引用re 模块 1、.(除过回车以外的所有字符) >>> import re >>> re.match(r".","abc")#.(除过回车以外的所有字符)#结果:<_sre.SRE_Matchobject;span=(0,1),match='a'> >>&gt...

weixin_30753873的博客 1570

用Docker-Compose三节点部署生产级Doris集群:从配置文件到故障转移

本文详细介绍了如何使用Docker-Compose部署一个生产级的三节点Apache Doris集群。内容涵盖从核心架构理解、配置文件编写到集群初始化验证的全过程,并重点讲解了如何实现高可用、数据持久化、健康检查以及故障转移等生产级运维关键点,为中小团队提供了一种在容器化便利性与系统稳定性间取得平衡的可靠部署方案。

kkk56的博客 856

【Python3 爬虫】09_正则表达式(re.math()、re.search()、re.sub()、全局匹配函数)

re.math()函数从源字符串的起始位置匹配一个模式语法:re.match(pattern, string, flag)第一个参数代表对应的正则表达式,第二个参数代表对应的源字符,第三个参数是可选参数,代表对应的标志位,可以放模式修正符等信息#-*- codingn:utf-8 -*- import re string = "ipythonajsoasaoso" pattern = "...

ajsyipsc40270的博客 591

macOS 12.7.6部署Ollama+Dify避坑指南

本文介绍了在macOS 12.7.6系统下部署Ollama和Dify的详细步骤及避坑指南。主要内容包括:1)关闭系统完整性保护(SIP)以允许修改系统目录;2)安装特定版本的Docker(2.1.0.5)和docker-compose(v2.38.2)以避免兼容性问题;3)配置Ollama服务并下载nomic-embed-text和deepseek-r1:7b模型;4)针对macOS调整Dify的docker配置文件,包括延长超时时间、修改存储路径、增加资源限制等关键设置。文中提供了完整的命令操作步骤和配置

Hi20240217的博客 3100

OPPO 后端校招面试,过于简单了!

你好,我是 Guide。2026 届秋招陆续开奖公司的越来越多了,今天来看一家手机厂 OPPO。前几天,已经分享了和今年校招开奖的情况。其中,小红书的薪资最为炸裂,大白菜一年都能给到 51w+。不过,相对应的工作强度和压力也是真的难顶,确实很难有钱多又轻松的活!OV (OPPO 和 Vivo)这几年发展真还可以的,这两家的高端机口碑都不错。本人也是最近入手了一款 Vivo 的上一代旗舰,拍照是真的不错啊!每个月会有 1.2k 生活补贴,生活费是按照 8 % 缴纳。

JavaGuide 748

Python高级——正则表达式 re模块1.match方法

python:正则表达式 一、什么是正则表达式 正则表达式也叫做匹配模式(Pattern),它由一组具有特定含义的字符串组成,通常用于匹配和替换文本。 正则表达式,是一个独立的技术,很多编程语言支持正则表达式处理。 Wiki:正则表达式(英语:Regular Expression、regex或regexp,缩写为RE),也译为正规表示法、常规表示法,在计算机科学中,是指一个用来描述或者匹配

编程我在行 11万+

展锐平台wifi连接性问题解决方案

对于断开连接的问题,需要从kernel log中确认下,是上 层主动发起的断开(会下发disconnect的命令),还是CP侧上报的断开事件。同学,别退出呀,我可是全网最牛逼的 WIFI/BT/GPS/NFC分析博主,我写了上百篇文章,请点击下面了解本专栏,进入本博主主页看看再走呗,一定不会让你后悔的,记得一定要去看主页置顶文章哦。1、出现wifi连接正常,但无法上网问题,首先确认其他手机是否可以正常上网,排除网络自身问题;3 路由器配置问题,出现过一个案例,恢复出场设置问题就解决了,具体根因。

手机-手表蓝牙开发工程师的博客 2022

Python正则表达式

在python学习过程中,不可避免地需要用到正则表达式,同时,整个软件开发编程过程中,对于正则表达式表达式的使用无处不在,所以,在此总结一下正则表达式的语法及使用样例。正则表达式是一种强大的文本处理工具,Python 的 re 模块提供了丰富的功能来实现正则表达式的应用。通过掌握正则表达式的语法和 re 模块的方法,可以高效地完成文本匹配、提取、替换等任务。

zhfmei的博客 2020

Arcgis栅格裁剪批处理工具

Arcgis栅格裁剪批处理工具

yilvyangguang520的博客 2172

ROS与深度相机入门教程:(1)Ubuntu16.04 在ROS中驱动Intel D435i深度相机

Intel在Github上开源了支持所有RealSense系列相机的SDK,包括了D400、SR300系列深度相机和T265双目跟踪相机,支持Linux、Windows、Mac OS以及Android,链接:https://github.com/IntelRealSense/librealsense/blob/master/doc/distribution_linux.md#installin...

m0_37957160的博客 2075

python之正则表达式

使用贪婪匹配或非贪婪匹配取决于具体的匹配需求。需要注意的是,非贪婪匹配可能会导致匹配结果不符合预期,因此在使用时需要谨慎评估和调整。通过这些方法和属性,你可以轻松地提取匹配结果中感兴趣的部分,进行进一步的处理和操作。请注意,在使用这些方法之前,确保匹配结果不是 None,即有匹配成功的结果。然而,在某些情况下,我们可能需要非贪婪匹配,也称为最小匹配。在正则表达式中,贪婪匹配和非贪婪匹配是指匹配模式的匹配方式。,贪婪匹配会尽可能匹配更多的字符,结果是整个字符串被匹配为。,贪婪匹配会匹配整个字符串,结果是。

专注于Python编程技术的分享与交流,致力于帮助开发者提升编程技能,解决实际问题,探索Python的无限可能。 4749

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

Python爬虫之正则表达式

Python爬虫之正则表达式 文章目录Python爬虫之正则表达式什么是正则表达式?正则表达式的特殊字符正则表达式的长用方法分组功能位置匹配贪婪匹配和非贪婪匹配 什么是正则表达式? 正则表达式是通过一些特殊的符号组成的字符串,这组字符串被称为模板;通过模板然后与目标串进行匹配,将与之相匹配的字符串取出。这就是正则表达式的作用 正则表达式的特殊字符 “ . ”符号可以匹配除换行符意外的任意一个字符 r = re.match(r'a.c', 'a你c').group() print(r) #a你c r

m0_46428072的博客 2114

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

【python正则表达式】

正则表达式是进行文本匹配的一种方式,通过正则来匹配到自己需要的内容。和我们用搜索浏览器一样,搜索abc,搜索出来的内容就是包括abc相关的。正则是在一个目标字符串中,搜索到你需要的关键字目标字符串: Youth is not a time of life;正则表达式: life下面这个网站就是可以使用正则来匹配搜索。可以直接用字符串搜索到1、 比如 \bm…e\b2、 \w 匹配字母或数字\b\w\w\w\w\b 代表什么?

ZMXdecode的博客 2422

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

Python 正则表达式

re模块: compile () #编译 sub() #替换 match () #从头匹配数据 search() #查找 正则表达式的一元字符: . #该符号 点 匹配所有符号,除了换行符(\n) \w #匹配有效符号(python3中包含了各国常用的语言符号) [ A-Za-z0-9_ ] #匹配有效符号 \d #匹配数字 \s #匹配空白位(空格、\t制表符) [abcdef] #匹配中括号中的某一个符号(列举): [a-z] #中括号中若出现 - 表...

Wuhao9_的博客 3325

python正则表达式在线_python正则表达式

正则表达式正则表达式,又称规则表达式。(英语:Regular Expression,在代码中常简写为regex、regexp或RE),计算机科学的一个概念。正则表达式通常被用来检索、替换那些符合某个模式(规则)的文本。作用1.检测某个字符串是否符合规则.比如:判断手机号,身份证号是否合法2.提取网页字符串中想要的数据.比如:爬虫中,提取网站天气,信息,股票代码,星座运势等具体关键字在线测试工具正则...

weixin_39751076的博客 1719
上一篇: shell条件语句
下一篇: shell循环语句
math_computer
博客等级 码龄8年 43粉丝 176原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值