正则表达式

Win11 24H2家庭版共享打印机失败?别慌,一个批处理脚本搞定所有设置 本文提供了Win11 24H2家庭版共享打印机失败的解决方案,通过一个批处理脚本自动修复所有设置问题。脚本包含安装组策略组件、修改关键注册表项等操作,帮助用户快速恢复打印机共享功能,适用于普通家庭用户。 阅读详情

到底什么是正则表达式?

      在编写处理字符串的程序或网页时,经常有查找符合某些复杂规则的字符串的需要。正则表达式就是用于描述这些规则的工具。换句话说,正则表达式就是记录文本规则的代码。

正则基础:

常用元字符

代码说明
.匹配除换行符以外的任意字符
\w匹配字母或数字或下划线
\s匹配任意的空白符
\d匹配数字
\b匹配单词的开始或结束
^匹配字符串的开始
$匹配字符串的结束

常用限定符(量词)

代码/语法说明
*重复零次或更多次
+重复一次或更多次
?重复零次或一次
{n}重复n次
{n,}重复n次或更多次
{n,m}重复n到m次

常用反义词

代码/语法说明
\W匹配任意不是字母,数字,下划线,汉字的字符
\S匹配任意不是空白符的字符
\D匹配任意非数字的字符
\B匹配不是单词开头或结束的位置
[^x]匹配除了x以外的任意字符
[^aeiou]匹配除了aeiou这几个字母以外的任意字符
正则在python中的用法

查找
findall : 匹配所有 每一项都是列表中的一个元素
ret = re.findall('\d+','sjkhk172按实际花费928') # 正则表达式,带匹配的字符串,flag
ret = re.findall('\d','sjkhk172按实际花费928') # 正则表达式,带匹配的字符串,flag
print(ret)

search : 只匹配从左到右的第一个,得到的不是直接的结果,而是一个变量,通过这个变量的group方法来获取结果
如果没有匹配到,会返回None,使用group会报错
ret = re.search('\d+','sjkhk172按实际花费928')
print(ret)  # 内存地址,这是一个正则匹配的结果
print(ret.group()) # 通过ret.group()获取真正的结果

ret = re.search('\d','owghabDJLBNdgv')
print(ret)
print(ret.group())

ret = re.search('\d+','sjkhk172按实际花费928')
if ret :   # 内存地址,这是一个正则匹配的结果
    print(ret.group()) # 通过ret.group()获取真正的结果


match 从头开始匹配,相当于search中的正则表达式加上一个^
ret = re.match('\d+$','172sjkhk按实际花费928')
print(ret)

字符串处理的扩展 : 替换 切割
split
s = 'alex|taibai|egon|'
print(s.split('|'))
s = 'alex83taibai40egon25'
ret = re.split('\d+',s)
print(ret)

sub # 谁 旧的 新的 替换次数
ret = re.sub('\d+','H','alex83taibai40egon25')
print(ret)

ret = re.sub('\d+','H','alex83taibai40egon25',1)
print(ret)

subn 返回一个元组,第二个元素是替换的次数
ret = re.subn('\d+','H','alex83taibai40egon25')
print(ret)


re模块的进阶 : 时间/空间

compile 节省你使用正则表达式解决问题的时间
因为它先是将正则表达式编译  译成 字节码
在多次使用的过程中 不会多次编译这样就节省了时间
eg:  
ret = re.compile('\d+')   # 已经完成编译了,后面要使用该正则,就可以直接调用该变量 使用要匹配的字符串
print(ret)
res = ret.findall('alex83taibai40egon25')
print(res)
res = ret.search('sjkhk172按实际花费928')
print(res.group())

finditer 

节省你使用正则表达式解决问题的空间/内存
ret = re.finditer('\d+','alex83taibai40egon25')
for i in ret:
    print(i.group())

总结:

findall 返回列表 找所有的匹配项
search  匹配就 返回一个变量,通过group取匹配到的第一个值,不匹配就返回None,group会报错
match   相当于search的正则表达式中加了一个'^'

spilt   返回列表,按照正则规则切割,默认匹配到的内容会被切掉
sub/subn 替换,按照正则规则去寻找要被替换掉的内容,subn返回元组,第二个值是替换的次数

compile  编译一个正则表达式,用这个结果去search match findall finditer 能够节省时间
finditer 返回一个迭代器,所有的结果都在这个迭代器中,需要通过循环+group的形式取值 能够节省内存

 

海康工业相机使用:常见问题及解决方法 工业相机在使用过程中,经常会因为操作不当、使用环境不当等原因出现一些问题,本篇教程,主要针对海康工业相机常见问题及其定位方法做以简单介绍,希望可以帮助大家。 注:该教程对其他品牌工业相机“常见问题”排查,也具备一定的指导意义。 当出现无法通过客户端发现设备或者无法预览图像等问题,先确认当前的运行环境是否满足以下要求: 确认装有相机驱动软件的电脑网卡为千兆网卡(Gige接口相机); 确认网卡是否已开启巨型帧; 确认电脑与网口相机之间的网络链路为千兆; 确认装有相机驱动软件的USB接口为3... 阅读详情

相关推荐

激光光束质量评估与光斑尺寸计算:从理论到MATLAB实践

本文详细解析激光光束质量评估与光斑尺寸计算的理论基础及MATLAB实践方法,重点介绍M²因子的测量与应用。通过高斯光束模型、CCD成像法和MATLAB算法实现,帮助读者掌握从理论到实践的完整流程,提升激光系统调试与评估能力。

weixin_29083373的博客 448

python 正则表达式

re.match函数 re.match 尝试从字符串的起始位置匹配一个模式,如果不是起始位置匹配成功的话,match()就返回none。 函数语法: re.match(pattern, string, flags=0) 函数参数说明: 参数 描述 pattern 匹配的正则表达式 string 要匹配的字符串。 flags 标志位,用于控制正则表达式的匹配方式,如:是否区分大小写,多行匹配等等。 ...

tomyyyyy 223

量化金融笔记1-股票量化基础

股票量化基础 文章目录什么是股票股票的定义及其诞生所解决的问题股票的主体和流通股票的常规分类股票价格收益率什么是股票价格的收益率股票价格收益率计算在python中的实现两种收益率算法的特点及应用场合股票交易规则场内交易与场外交易A股、B股、H股国内多层次的资本市场股票交易指令和撮合机制股票交易时间股票交易成本股票复权股票数据介绍与提取行业分类和指数行情数据因子数据标的数据基本面数据 什么是股票 股票的定义及其诞生所解决的问题 股票的定义:股票是一种有价证券,是股份有限公司公开发行的用以证明投资者的股东身份

折桂狂人的博客 2395

正则表达式(一)

Re库基本介绍 1.raw string类型: Python中的‘\ ’表示转义,当遇到特殊字符需要转义时,你要花费心思判断需要几个“\”。为了避免这个情况,使用原生字符串类型(raw string)来书写正则表达式 2.Re库的基本函数: 函数 说明 re.search() 在一个字符串中搜索匹配正则表达式的第一个位置,返回match对象 re.match() 从一个字符串的...

weixin_45425381的博客 215

使用单片机和电流互感器对非正弦周期电流有效值测定

使用单片机和电流互感器,利用一种高速采样的方法来进行有效值测定

月光绿叶滴水音乐 3944

Stata实战:用双向固定效应模型分析房价,从数据清洗到结果解读(附完整代码)

本文详细介绍了如何使用Stata实现房价数据的双向固定效应模型分析,从数据清洗到结果解读的全流程。通过具体代码示例,帮助读者掌握面板模型的应用技巧,特别适合经济学和金融学研究者进行房价影响因素分析。

weixin_31528001的博客 277

Python字符串—正则表达式

Python语言的正则表达式功能由标准包re提供。利用正则表达式可以较容易地实现许多复杂字符串操作。 Python正则表达式采用字符串字面量的形式描述(即引号括起的字符 序列)。从Python语言的角度看它们就是普通的字符串,但在用于re包提供的一些特殊操作时,一个具有正则表达式形式的字符串代表一个字符串模式,描述了一个特定的字符串集合。这类操作就是re包提供的正则表达式匹配操作。 原始字符串 首先介绍原始字符串(raw string)的概念。原始字符串是在Python里书写字符串文字量的一种形式,这

liu888663的博客 5437

prplOS适配USB LAN网卡

本文介绍了将USB LAN网卡(如rndis0)适配到prplOS的LAN管理流程。

四儿家的小祖宗的博客 322

正则表达式中r的含义

r: Python中字符串前面加上 r 表示原生字符串(rawstring)

Simple的博客 5915

基于 FPGA 的 CNN 卷积神经网络之池化层 Verilog 实现

池化层是卷积神经网络(CNN)中的关键组件,用于降低特征图的维度,减少计算量和防止过拟合。常见的池化操作包括最大池化和平均池化。FPGA 提供了高效的并行处理能力,可以加速这些操作。池化层在 CNN 中扮演重要角色,通过降低数据维度提升计算效率。在 FPGA 上实现池化层,可以充分利用硬件资源实现高效的并行计算,有助于提高实时应用中的推理速度。

走向CTO的路上... 1256

MIPI D-PHY TX 一致性测试实例解析 Part 02

如果测过1.3.x,并对这组测试的细节已经熟悉的前提下,1.4.x的测试将会变得轻松,因为几乎相同的测试项被用于时钟通道的数据测量。

一只豌豆象的博客 8315

正则表达式,看我就懂

世界上分为两种人,一种是懂正则表达式的,一种是不懂正则表达式的。 不管你学的是什么语言,Java,iOS,安卓,都需要用到正则表达式,又因为正则表达式相通(每种语言几乎一样),所以在哪种语言学会正则,都可以用到其他语言中,下面我以python为例。 文末,有常用正则表达式 什么是正则表达式: 1、通俗理解:按照一定的规则,从某个字符串中匹配出想要的数据。这个规则就是正则表达式。 2、标准...

weixin_33805743的博客 304

python爬取银行年报2

python爬取公司年报(巨潮资讯网)

bboysteed的博客 4730

正则表达式(9):扩展正则表达式

上图中的扩展正则使用了分组符号”( )”,”(com|net)”表示将括号内的内容看做一个整体,而括号内的内容为”com|net”,它表示”com或者net”,所以,”(com|net)$”就表示以com或者net结尾的行。上图中,grep命令使用了”-E”选项,表示grep命令会把”正则表达式”中的符号当成”扩展正则表达式”去理解,而不再使用默认的”基本正则表达式”。5、顶级域名之前必须包含一个”点”,换句话说就是,邮箱必须以”.com”、”.net”、”.org”、”.edu”结尾。

qq_40531442的博客 2170

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

Python正则表达式

正则表达式是对字符串提取的一套规则,我们把这个规则用正则里面的特定语法表达出来,去匹配满足这个规则的字符串。正则表达式具有通用型,不仅python里面可以用,其他的语言也一样适用。正则表达式是一个特殊的字符序列,它能帮助你方便的检查一个字符串是否与某种模式匹配,常用的有都可以用于匹配字符串。

2301_81704383的博客 1322

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

linux正则表达式,正则表达式分类,元字符,基础正则表达式,扩展正则表达式,正则表达式案例

上文介绍了通配符1,本文介绍、总结和通配符有着诸多共同点的一类符号,即正则表达式(regular expression)。只是通配符的对象是文件、或目录,而后者对象是文本内容。在很多地方都有正则表达式的身影,它的作用是用来匹配指定式样的内容,个人理解为,正则表达式规定了指定式样pattern,能匹配该指定式样的字符或字符串即为内容,内容的来源可以是文件、某个标准输入等,使用正则表达式(regular expression)的目的就是匹配到了该内容。

有人说学习`这个`最好的时间是十年前,有人说最好的时间是现在,众说纷纭... 1821

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

linux正则表达式大全,正则表达式,正则表达式语法大全

正则表达式,正则表达式语法大全正则表达式分为两类:基本正则表达式:BRE扩展正则表达式:ERE基本正则表达式的元字符:字符匹配:.: 匹配任意单个字符;[]: 匹配指定范围内的任意单个字符[^]:匹配指定范围外的任意单个字符[:digit:],[:upper:],[:lower:],[:alpha:],[:alnum:],[:space:],[:punct:]匹配次数:用在要指定次数的字符后面,...

weixin_32955259的博客 2878

shell 正则表达式详解

什么是正则表达式;为什么使用正则表达式;如何使用正则表达式;基本正则表达式;扩展正则表达式; 包含正则表达式例题。

weixin_48814356的博客 3003

regex 正则表达式

regex 正则表达式 文章目录regex 正则表达式前言元字符abc 等普通字符| 符号两侧的正则均能匹配. 匹配任意一个字符 '\n'除外^ 匹配字符串开头$ 匹配字符串结尾* 匹配重复0次或多次+ 匹配重复1次或多次? 匹配重复0次或1次{N} 匹配重复指定次数{M,N} 匹配重复指定次数范围[abcd] 字符集匹配[^ ...] 字符集不匹配\d 匹配任意数字字符\D 匹配任意非数字字...

weixin_40118971的博客 6475

【正则表达式】{1} ——正则表达式的语法

参考资料:Python网络爬虫与信息提取(北京理工大学慕课) 正则表达式的语法: 正则表达式语法由字符和操作符构成 正则表达式的常用操作符: 操作符 说明 实例 . 表示任何单个字符 [ ] 字符集,对单个字符给出取值范围 [abc]表示a、b、c,[a-z]表示a到z单个字符 [^ ] 非字符集,对单个字符给出排除范围 [^abc]表示非a或b或c的单个字符 ...

Giyn 4783

正则表达式总结

每次使用到正则表达式的时候都要去翻书或者去网上查,很麻烦,抽出点时间做一个总结,方便以后用到的时候查阅。一、正则表达式的几个特殊符号1、^和$两个特殊的符号‘^’和’$’。他们的作用是分别指出一个字符串的开始和结束。例子如下:"^The":表示所有以"The"开始的字符串("There","The cat"等); "of despair$":表示所以以"of despair"结尾的字符串; "^ab

lmb55的专栏 2269
上一篇: 内置函数(二)
下一篇: 深入理解正则表达式环视的概念与用法
raw_recruit0302
博客等级 码龄8年 30粉丝 42原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值