来了,来了,python大技能来了

发布于 更新于

技术文章

前言我们在做接口自动化的时候,处理接口依赖的相关数据时,通常会使用正则表达式来进行提取相关的数据。今天在这边和大家聊聊如何在python中使用正则表达式。在python使用正则表达式,可以使用官方库re来实现。re模块的使用在python中...

前言


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


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


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


re模块的使用


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


01 re.match函数


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


① 第一个是匹配的规则


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


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


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


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


案例:




02 re.search方法


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


① 第一个是匹配的规则


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


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


案例:




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


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


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


03 findall方法


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


① 第一个是匹配的规则


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


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

案例:




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


04 sub方法


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




◆ 参数:


pattern:匹配的规则;


repl:匹配之后替换的新内容;


string:需要按规则替换的字符串;


count:替换的次数,可以不传参,默认替换所有符合规则的。


案例:




05 贪婪模式说明


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


如下案例:


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




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


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


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




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


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


正则表达式语法


01 表示单字符


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


具体规则如下:




02 表示数量


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


具体规则如下:




03 表示边界


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




04 匹配分组


对匹配的内容做分组处理




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


继续阅读