正则表达式reg = r'src"(.*.jpg)" width' 返回时总是返回空[]

正则表达式reg = r'src"(.*.jpg)" width' 返回时总是返回空[],第1张

def getImg(html):

reg = r'(<=<img src=)"([^"]+\jpg)"'

imgre = recompile(reg)

imglist = refindall(imgre,html)

python中提供了3种通过正则表达式匹配字符串方法。种通过正则表达式匹配字符串的方法有以下三种。

1、贪婪匹配与非贪婪匹配:在定义用于匹配的模式串时,使用,则为贪婪匹配。使用,则为非贪婪匹配。

2、indall与search的选取问题:自己定义的模式串只能匹配到一个结果,使用search方法结合group方法可以直接得到这个字符串。自己定义的模式串能匹配到多个结果,则使用findall方法可以得到存储多个结果字符串的列表。

3、匹配时"()"和[]的用法:目标字符串‘abcde’[…]会匹配在[]内的任意一个字符,而不会匹配整个字符串。(…)会匹配在()内的整个字符串。使用search方法时则正常匹配(相当于没有()),使用findall方法时则只会匹配(…)的内容。)[]同时出现,考虑(…)式的字符串与[…]式内的字符和顺序,使用findall方法时结果会舍弃[…]内容,使用search方法时则正常匹配(相当于没有()和[])。

提取三个版本的程序testing log中的test case名和测试结果,并对比不同版本程序的每一个case的结果,再计算每个test case在三个版本中的失败率。

//不熟悉如何写正则表达式的参考 我的上一篇文章

注意方法括号内的语法为r"你的正则表达式"

recompile() 方法生成一个正则表达式对象,调用此对象的方法findall(),输入待处理的string,得到所有匹配结果。返回值类型为list,例:Output: ['123456789', '987654321']

若你的正则表达式有多个capture group,则为list包括的tuple。

直接用list创建DataFrame对象,参数为list和你给出的列名,在这里‘case’为第一列的列名,第二列列名通过传入的变量version确定

得到结果类如表格

因为程序testcase的ID本身就是唯一的,用作index方便join,所以我们不再需要默认的数字index

使用df的 join() 方法,将所有版本的df在'case'列,也就是我们的index列进行left join

最后,我们返回dfs[0],也就是完成全部左交后的总结果。

输出结果如下:

以上就是关于正则表达式reg = r'src"(.*\.jpg)" width' 返回时总是返回空[]全部的内容,包括:正则表达式reg = r'src"(.*\.jpg)" width' 返回时总是返回空[]、python中提供了哪几种通过正则表达式匹配字符串的方法有哪、快速入门|Python DataFrame +正则表达式处理数据实例一则等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9795591.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-02
下一篇 2023-05-02

发表评论

登录后才能评论

评论列表(0条)

保存