亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

python re的findall和finditer的區(qū)別詳解

瀏覽:28日期:2022-07-05 14:10:13

python正則模塊re中findall和finditer兩者相似,但卻有很大區(qū)別。

兩者都可以獲取所有的匹配結(jié)果,這和search方法有著很大的區(qū)別,同時(shí)不同的是一個(gè)返回list,一個(gè)返回一個(gè)MatchObject類型的iterator

假設(shè)我們有這樣的數(shù)據(jù):其中數(shù)字代表電話號(hào),xx代表郵箱類型

content = ’’’email:[email protected]:[email protected]:[email protected]’’’

需求:(正則沒(méi)有分組)提取所有的郵箱信息

result_finditer = re.finditer(r'd+@w+.com', content)#由于返回的為MatchObject的iterator,所以我們需要迭代并通過(guò)MatchObject的方法輸出for i in result_finditer : print i.group()result_findall = re.findall(r'd+@w+.com', content)#返回一個(gè)[] 直接輸出or或者循環(huán)輸出print result_findallfor i in result_findall : print i

需求:(正則有分組)提取出來(lái)所有的電話號(hào)碼和郵箱類型

result_finditer = re.finditer(r'(d+)@(w+).com', content)#正則有兩個(gè)分組,我們需要分別獲取分區(qū),分組從0開(kāi)始,group方法不傳遞索引默認(rèn)為0,代表了整個(gè)正則的匹配結(jié)果for i in result_finditer : phone_no = i.group(1) email_type = i.group(2)result_findall = re.findall(r'(d+)@(w+).com', content)#此時(shí)返回的雖然為[],但不是簡(jiǎn)單的[],而是一個(gè)tuple類型的list #如:[(’12345678’, ’163’), (’2345678’, ’163’), (’345678’, ’163’)]for i in result_findall : phone_no = i[0] email_type = i[1]

命名分組和非命名分組的情況是一樣的。

findall注意點(diǎn):

1.當(dāng)正則沒(méi)有分組是返回的就是正則的匹配

re.findall(r'd+@w+.com', content)[’[email protected]’, ’[email protected]’, ’[email protected]’]

2.有一個(gè)分組返回的是分組的匹配而不是整個(gè)正則的匹配

re.findall(r'(d+)@w+.com', content)[’2345678’, ’2345678’, ’345678’]

3.多個(gè)分組時(shí)將分組裝到tuple中 返回

re.findall(r'(d+)@(w+).com', content)[(’2345678’, ’163’), (’2345678’, ’163’), (’345678’, ’163’)]

因此假如我們需要拿到整個(gè)正則和每個(gè)分組的匹配,使用findall我們需要將整個(gè)正則作為一個(gè)分組

re.findall(r'((d+)@(w+).com)', content)[(’[email protected]’, ’2345678’, ’163’), (’[email protected]’, ’2345678’, ’163’), (’[email protected]’, ’345678’, ’163’)]

而使用finditer我們無(wú)需手動(dòng)將整個(gè)正則用()括起來(lái)group()代表整個(gè)正則的匹配

實(shí)際中我們根據(jù)我們的需求選擇方法既可。

到此這篇關(guān)于python re的findall和finditer的區(qū)別詳解的文章就介紹到這了,更多相關(guān)python re的findall和finditer內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

標(biāo)簽: Python 編程
相關(guān)文章:
主站蜘蛛池模板: 国产成人精品日本亚洲直接 | 97成人啪啪网 | 欧美日韩亚洲一区二区三区在线观看 | 久操青青| 国产99欧美精品久久精品久久 | 娇小性色xxxxx | 91在线精品中文字幕 | 91精品视频网站 | 一级毛片一 | 亚洲国产精品综合久久 | 欧美日韩三 | 在线视频91 | 国产大片免费观看中文字幕 | a级片在线免费播放 | 国产亚洲精品欧美一区 | 小明看片| 欧美三级真做在线观看 | 国产亚洲欧洲一区二区三区 | 香蕉视频毛片 | 欧美日韩国产高清视频 | 久久久久综合 | 婷婷五月色综合 | 杨幂丝袜国产福利视频 | 国产精品一区二区三区高清在线 | 欧美日韩一区二区在线视频播放 | 免费一级特黄欧美大片久久网 | 国产91小视频在线观看 | 福利视频在线观看免费版 | 又黄又爽又成人免费视频 | 黄色片网站日本 | 在线播放精品 | 麻豆影视大全 | 精品黄色片 | 韩国一级毛片视频免费观看 | 成人精品一区二区不卡视频 | 成人va| 视频在线观看一区二区三区 | 欧美在线免费观看视频 | 日本在线日本中文字幕日本在线视频播放 | 密桃av| 日韩欧美一区二区三区四区 |