正则匹配第一个符合的_技能大放送:python中正则表达式的使用

前言

我们在做接口自动化的时候,处理接口依赖的相关数据时,通常会使用正则表达式来进行提取相关的数据。

今天在这边和大家聊聊如何在python中使用正则表达式。

在python使用正则表达式,可以使用官方库re来实现。

re模块的使用

在python中使用正则表达式,需要用到re模块来进行操作,这边给大家介绍几个re模块中常用的方法。

01 re.match函数

◆ 参数说明:接收两个参数

① 第一个是匹配的规则

② 第二个是匹配的目标字符串

re.match尝试从字符串的起始位置匹配1一个模式。

匹配成功,返回的是一个匹配对象(这个对象包含了我们匹配的信息)。

如果不是起始位置匹配成功的话,match()返回的就是空。

案例:

eb8c539bc4144504e398ff1765fa85c3.png

02 re.search方法

参数说明:接收两个参数

① 第一个是匹配的规则

② 第二个是匹配的目标字符串

re.search 扫描整个字符串并返回第一个成功的匹配。

案例:

23063a8ef8a91701e4ec3b9068053590.png

◆ re.match与re.search的区别:

① re.match从字符串的开始位置进行匹配,如果字符串开始不符合正则表达式,则匹配失败,函数返回空;

② 而re.search匹配整个字符串,直到找到一个匹配成功的则进行返回,如果整个字符串中都没有找到匹配成功的,则返回空

03 findall方法

参数说明:接收两个参数

① 第一个是匹配的规则

② 第二个是匹配的目标字符串

在字符串中找到正则表达式所匹配的所有子串,并返回一个列表,如果没有找到匹配的,则返回空列表。

案例:

cdf6808cf8cfdc202d9f64f24d13c6e5.png

注意:match和search是匹配一个结果,findall 匹配处所有符合规则的结果。

04 sub方法

替换字符串中的某些字符,可以用正则表达式来匹配被选子串。

1e0669b521dd95087910b53602b51933.png

参数:
pattern:匹配的规则;
repl:匹配之后替换的新内容;
string:需要按规则替换的字符串;
count:替换的次数,可以不传参,默认替换所有符合规则的。
案例:

0db74cb208e8606b6473a6324aa3d21a.png

05 贪婪模式说明
◆ 贪婪模式:Python里数量词默认是贪婪的,总是尝试匹配尽可能多的字符;

如下案例:

有一个字符串s,我们需要在字符串中匹配3个以上的数字,字符串中数字有8个,贪婪模式会尽可能匹配更多字符,3个以上,8个也是3个以上,那么这里匹配的结果就是8个数字。

6c83f9bd82b93d6e6170ff7e540d921d.png

◆ 非贪婪模式:总是尝试匹配尽可能少的字符,在"*","?","+","{m,n}",{m,}后面加上?,可以关闭贪婪模式

关闭贪婪模式之后,尽可能获取更少的。

如下,只获取到最前面的3个数值(规则时至少3个,非贪婪就是匹配最前面符合规则的3个数组)

5af16d0db3a78ef6f00685bf7e3e9489.png

关于re模块,更多的使用方法,本文不做过多的介绍,大家自行研究,谢谢!

下面附上正则表达式的基本的匹配供大家参考

正则表达式语法

01 表示单字符

◆ 单字符:即表示一个单独的字符,比如匹配数字用\d ,匹配非数字使用\D。

具体规则如下:

5463b05bbbeefd9b5ee4a871e63ec87a.png

02 表示数量

如果要匹配某个字符多次,就可以在字符后面加上数量进行表示。

具体规则如下:

1887cca372166362a8aa428c176a57cb.png

03 表示边界

用来表示字符串或者单词的边界 如字符串开头,单词开头等

2a61080ca2e4f29877f6b29a8288745c.png

04 匹配分组

对匹配的内容做分组处理

823cb9374bca2067ad7df50b5a4db03c.png

本文由木森老师原创,转载需注明出处!

f9563d281052e24133e2ea7ead60277a.png

转发到朋友圈是最高的赞赏

关注柠檬班微信公众号,获取最新技术文章

让软件测试学习变得更简单!

d79492cfc6a41814890fc344234cd6ac.gif

Jmeter请求之必学的正则表达式

相关学习视频

添加小米微信即可呦

1cdf963262cb5ff0e335db474f638535.png

64f24990bd27d456374c456dc19fb261.png

点一下在看再走吧

84913e5b6a72f7a9ee6fee4198a761c2.gif

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值