輕松入門(mén)正則表達(dá)式之非貪婪匹配篇詳解
非貪婪匹配 (.*?)
import re a = '456qwe789rty123abc' re=re.findall('456(.*?)789',a) print(re)
通常情況,滿(mǎn)足匹配規(guī)則“456(.*?)789”的內(nèi)容通常不止一個(gè),那么findall()函數(shù)會(huì)從字符串的起始位置開(kāi)始尋找文本A,找到后開(kāi)始尋找文本B,當(dāng)找到第一個(gè)文本B后,暫時(shí)停止尋找,將文本A和文本B之間的內(nèi)容存入列表;然后繼續(xù)尋找文本A,并重復(fù)之前的步驟,直到到達(dá)字符串的結(jié)束位置,并將所有匹配到的內(nèi)容存入列表。
import re a = '456qwe789rty123456kkk789abc456xiaowang789' re=re.findall('456(.*?)789',a) print(re)
貪婪模式的話(huà)就會(huì)尋找最長(zhǎng)的
import re a = '456qwe789rty123456kkk789abc456xiaowang789' re=re.findall('456(.*)789',a) print(re)
非貪婪匹配 .*?
import re a='<a rel="external nofollow" target="_blank" data-report-click="{"spm":"3001.5501"}" data-report-query="spm=3001.5501" data-v-6fe2b6a7="">' re=re.findall('<a href="(.*?)" rel="external nofollow" rel="external nofollow" .*?',a) print(re)
" 和 url后面的html代碼
用.*?
代表,需要提取的是<a href="
后的內(nèi)容,用“(.*?)”代表
實(shí)戰(zhàn)爬取博客專(zhuān)欄url
import re,requests url='https://blog.csdn.net/weixin_42403632/category_11076268.html' headers={'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:93.0) Gecko/20100101 Firefox/93.0'} html=requests.get(url,headers=headers).text re=re.findall('<a href="(.*?)" rel="external nofollow" rel="external nofollow" .*?rel="noopener">',html) for i in re: print(i)
到此這篇關(guān)于輕松入門(mén)正則表達(dá)式之非貪婪匹配篇詳解的文章就介紹到這了,更多相關(guān)正則表達(dá)式 非貪婪匹配內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
正則表達(dá)式匹配解析過(guò)程探討分析(正則表達(dá)式匹配原理)
已經(jīng)有多篇關(guān)于正則表達(dá)式介紹的文章,隨著我們?cè)絹?lái)越多使用正則表達(dá)式,想對(duì)性能做優(yōu)化、減少我們正則表達(dá)式書(shū)寫(xiě)匹配Bug。我們不得不進(jìn)一步深入了解正則表達(dá)式執(zhí)行過(guò)程了2015-10-10asp正則表達(dá)式匹配數(shù)字$數(shù)字$數(shù)字$
用asp實(shí)現(xiàn)的匹配:數(shù)字$數(shù)字$數(shù)字$...... 的正則2008-04-04vbs:能算出一個(gè)字符在一字段里共出現(xiàn)有幾次的函數(shù)
vbs:能算出一個(gè)字符在一字段里共出現(xiàn)有幾次的函數(shù)...2007-04-04AS3 js正則表達(dá)式 反向引用(backreference)
這篇文章主要介紹了AS3 js正則表達(dá)式 反向引用(backreference) 的相關(guān)資料,需要的朋友可以參考下2016-03-03詳解基于Linux下正則表達(dá)式(基本正則和擴(kuò)展正則命令使用實(shí)例)
正則表達(dá)式應(yīng)用廣泛,在絕大多數(shù)的編程語(yǔ)言都可以完美應(yīng)用,在Linux中,也有著極大的用處。 有興趣的可以了解一下。2017-01-01