python 正则表达式

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

1.特殊符号和字符

1.1 特殊符号

说明

样例

^或(\A)

匹配字符串的开始

^hehe

$或(\Z)

匹配字符串的结尾

txt$

re1|re2

或

ha|he

.

匹配除换行符外的任意字符

a1b,a2b,a#b

*

匹配(前面出现的正则表达式)0次或多次

[A-Za-z0-9]*

+

匹配(前面出现的正则表达式)1次或多次

[a-z]+\.com

?

匹配(前面出现的正则表达式)0次或1次

goo?

{N}

匹配(前面出现的正则表达式)N次

[0-9]{3}

{M,N}

匹配(前面出现的正则表达式)M次或N次

[0-9]{5,9}

[...]

匹配字符组里出现的任意一个字符

[aeiou]

[..x-y..]

匹配从字符x到y中的任意一个字符

[0-9],[A-Za-z]

[^...]

不匹配此字符集中出现的任何一个字符,包括某一范围的字符

[^aeiou],[^A-Za-z0-9]

(*|+|?|{})?

用于上面出现的任何“非贪婪”。版本重复匹配次数符号

.*?[a-z]

(...)

匹配括号中正则表达式,并保存为子组

([0-9]{3})?,f(oo|u)bar

1.2 特殊字符

说明

样例

\d

匹配任何数字;(\D 与之相反,匹配任何非数字[^0-9])

\d+.txt

\w

匹配任何数字和字符(包括汉字),(\W 与之相反)

[A-Za-z_]\w+

\s

匹配任何空白符,(\S与之相反)

of\sthe

\b

匹配单词边界,(\B与之相反)

\bThe\b

\nn

匹配已保存的子组(参考(...))

price:\16

\c

逐一匹配特殊字符c(即取消它的特殊含义)

\.,\\,\*

2. 常见字符详解

2.1 匹配任意一个单个的字符(.)

..     # 任意两个字符
\.     # 匹配英文句号(.)

2.2 (-)与(^)

[^\t\n]  # 除制表符TAB和换行符以外的任意一个字符
["-a]    # 在"和a之间的任意一个字符(ASCII码值在34-97之间)

2.3 常见案例

(1)匹配IP:
(([01]?\d?\d|2[0-4]\d|25[0-5])\.){3}([01]?\d?\d|2[0-4]\d|25[0-5])
(2)匹配电话号码:
eg:800-555-1212
\d{3}-\d{3}-\d{4}
(3)匹配邮箱:
eg: abc@baidu.com
\w+@\w+\.com
(4)匹配浮点型
eg: 2,100,0.103
\d+(\.\d*)?

3. re 模块核心函数和方法

函数

描述

备注

compile(pattern,flags=0)

对正则表达式pattern进行编译

match(pattern,string,flags=0)

在字符串string中匹配pattern;必须是从开头即匹配

search(pattern,string,flags=0)

在字符串string中搜索pattern的第一次出现

findall(pattern,string[,flags])

在字符串string中搜索pattern的所有(非重复)出现,结果以列表方式返回

finditer(pattern,string[,flags])

与findall() 相同,结果以迭代器方式返回

split(pattern,string,max=0)

使用pattern中的分隔符,把字符串string分隔为一个列表

sub(pattern,repl,string,max=0)

把字符串string中所有匹配pattern的地方替换成repl

group(num=0)

返回全部匹配对象(或指定编号是num的子组)

groups()

返回一个包含全部匹配的子组元组

4. 匹配与搜索

(1)匹配

试图从整个字符串的开头进行匹配

(2)搜索

可从一个字符串的任意位置开始匹配

5. 一个好用工具

https://regex101.com/r/hYaEhK/1

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

相关推荐

Python:进阶 Python3 正则表达式

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

Kant2048的博客 1571

Python正则表达式

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

zhfmei的博客 2021

Python高级正则表达式

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

pythonandaiot的博客 999

python之正则表达式

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

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

从农田到城市:如何利用NDVI和缨帽变换提升遥感图像分类精度?

本文深入探讨了如何利用NDVI(归一化差值植被指数)和缨帽变换(Tasseled Cap Transformation)两大关键技术,有效提升从农田到城市等复杂场景的遥感图像分类精度。文章通过剖析地物光谱特征,对比了原始波段与衍生特征的优劣,并提供了在ENVI、ArcGIS及Python环境中的具体操作指南与实战策略,旨在帮助从业者构建更鲁棒的特征工程流程,从而解决地物混淆、边界模糊等常见分类难题。

redis7keeper的博客 867

AI量化交易工作台Vibe-Trading:用自然语言驱动策略回测与多智能体研究

量化交易通过数学模型和计算机程序执行投资决策,其核心在于将市场规律转化为可验证的策略。传统量化开发涉及数据获取、策略编写、回测验证等复杂工程,对非编程背景的从业者构成较高门槛。随着大语言模型技术的发展,自然语言交互正成为降低技术使用难度的关键。Vibe-Trading项目正是这一趋势的实践,它将金融工程任务封装为可调用的工具与技能,允许用户通过自然语言指令直接驱动策略回测、因子研究和投资组合分析。其技术价值在于构建了一个模块化的AI Agent框架,通过ReAct推理框架协调多个专项技能,并创新性地引入多智

weixin_28695161的博客 1567

python正则表达式

学会使用常见的正则表达式一、 正则表达式基础1.1.概念介绍正则表达式是用于处理字符串的强大工具,它并不是Python的一部分。其他编程语言中也有正则表达式的概念,区别只在于不同的编程语言实现支持的语法数量不同。它拥有自己独特的语法以及一个独立的处理引擎,在提供了正则表达式的语言里,正则表达式的语法都是一样的。下图展示了使用正则表达式进行匹配的流程: 1.2. 数量词的贪婪模式与非贪婪模式正则表达式通常用于在文本中查找匹配的字符串。贪婪模式,总是尝试匹配尽可能多的字符;非贪婪模式则相反,总是尝试匹配尽可能少

阿极的博客 9747

WGCNA样本量不够怎么办?5种替代方案帮你解决小样本基因共表达分析难题

本文针对WGCNA样本量不足的问题,提供了5种科学替代方案,包括CEMiTool、参数调整、多组学数据整合、机器学习特征提取和公共数据利用。这些方法帮助研究者在小样本条件下仍能进行可靠的基因共表达分析,特别适用于罕见病和珍贵临床样本研究。

weixin_42554042的博客 304

Python爬虫之正则表达式

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

m0_46428072的博客 2115

DIY音频必备:手把手教你用AB类功放模块打造高保真桌面音响(含电路图)

本文详细指导如何利用AB类功放模块DIY高保真桌面音响,涵盖选型指南、核心元器件清单、电路搭建与焊接工艺,以及系统调试与音质优化技巧。AB类功放以其接近A类功放的音质和B类功放的效率,成为音频爱好者的理想选择,适合有一定电子基础的实践者。

weixin_42665725的博客 444

2024最新Typora配置指南:从安装到打造学术写作环境(含LaTeX/参考文献解决方案)

本文提供2024年最新Typora配置指南,详细讲解如何从安装开始,结合Pandoc、Zotero和LaTeX,打造高效的学术写作环境。指南涵盖Typora深度定制、学术主题配置、参考文献自动管理以及一键生成出版级PDF的完整解决方案,旨在帮助科研人员和学生实现内容与格式分离,大幅提升论文写作效率。

weixin_29258297的博客 211

【python正则表达式】

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

ZMXdecode的博客 2422

原创_新魔百和CM201-1鸿蒙架构当贝乐家语音安卓9线刷固件包刷机教程可救砖rom刷机包

不用担心变砖,因为系统内核会自动判断分区及CPU等级,假设你CPU是高于S905L3的那么。7.adb功能支持,系统增加开机自启功能,添加老人桌面模式,默认为年轻化桌面;所以我发的这个固件可适用于_cw_ys_zg_zn代工上生产的盒子进行刷机;5.CPU及GPU算法更改,当观看4K片源时,AI智能会自动优化系统后台进程,正如我所说,本固件是采用安卓公版镜像制作而成,那么代工厂也是使用的公版镜像,1.移植鸿蒙架构代码,完美融合安卓系统,增加系统的稳定性;刷机的时候 他会自动短接链接,所以不存在变砖。

a138088150的博客 1万+

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

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

weixin_39751076的博客 1719

195、大模型蒸馏与压缩:知识蒸馏与VLA模型轻量化

折腾完这一整套流程,最大的感悟是:知识蒸馏不是简单的模型压缩,而是知识迁移的工程艺术。每一步都有坑,每个参数都可能影响最终性能。给后来者的建议是:先别急着上蒸馏,把teacher模型的推理延迟和显存占用测清楚,确定瓶颈在哪里——是计算量太大还是内存带宽不够,这决定了你该用蒸馏还是量化还是剪枝。蒸馏训练时一定要监控每一层的特征对齐loss,别只看总loss。如果某一层的对齐loss特别高,说明student在这一层学歪了,需要调整该层的损失权重或者增加该层的投影头容量。

sundong_81的博客 112

【一看就会】Autoware.universe的“规划”部分源码梳理【0】——Planning综述(持续更新中)

单独开一篇planning综述,作为整个规划系列的开篇。本篇综述会持续更新,希望能帮助大家更好的整体理解规划部分。这个部分会持续更新。

weixin_48386130的博客 1966

Python 正则表达式

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

Wuhao9_的博客 3325

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

Python之正则表达式——查找

正则表达式: 正则表达式是一个特殊的字符序列,它能帮助你方便的检查一个字符串是否与某种模式匹配。 Python 自1.5版本起增加了re 模块,它提供 Perl 风格的正则表达式模式。 re 模块使 Python 语言拥有全部的正则表达式功能。 compile 函数根据一个模式字符串和可选的标志参数生成一个正则表达式对象。该对象拥有一系列方法用于正则表达式匹配和替换。 re 模块也提供...

青柚的博客 7522

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

上一篇: 读取s3图片并保存至excel
下一篇: 聚类学习简介
MusicDancing
博客等级 码龄7年 2684粉丝 314原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值