輕松入門正則表達(dá)式之非貪婪匹配篇詳解
非貪婪匹配 (.*?)
import re a = '456qwe789rty123abc' re=re.findall('456(.*?)789',a) print(re)
通常情況,滿足匹配規(guī)則“456(.*?)789”的內(nèi)容通常不止一個(gè),那么findall()函數(shù)會(huì)從字符串的起始位置開始尋找文本A,找到后開始尋找文本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ì)尋找最長(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)爬取博客專欄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)于輕松入門正則表達(dá)式之非貪婪匹配篇詳解的文章就介紹到這了,更多相關(guān)正則表達(dá)式 非貪婪匹配內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
簡(jiǎn)單的用js實(shí)現(xiàn)過(guò)濾多余字符的正則表達(dá)式
利用正則表達(dá)法除去字符串中的重復(fù)字符,一個(gè)簡(jiǎn)單的JavaScript正則表達(dá)式實(shí)例,將一串含有重復(fù)字符串中的多余字符濾除掉,請(qǐng)運(yùn)行查看效果。2010-10-10應(yīng)該如何構(gòu)造復(fù)雜的正則表達(dá)式
昨天Snopo問我如何寫一段正則表達(dá)式,來(lái)提取sql的條件語(yǔ)句。解答之余,想寫一篇文章介紹一下經(jīng)驗(yàn)2012-09-09利用正則表達(dá)式校驗(yàn)金額最多保留兩位小數(shù)實(shí)例代碼
很多不太懂正則的朋友,在遇到需要用正則校驗(yàn)數(shù)據(jù)時(shí),往往是在網(wǎng)上去找很久,結(jié)果找來(lái)的還是不很符合要求,下面這篇文章主要給大家介紹了關(guān)于利用正則表達(dá)式校驗(yàn)金額最多保留兩位小數(shù)的相關(guān)資料,需要的朋友可以參考下2022-08-08javascript RegExp 對(duì)象屬性與方法和應(yīng)用
RegExp對(duì)象(至今為止我看到過(guò)的最通俗易懂和深入的正則表達(dá)式教程)。2009-10-10詳解正則表達(dá)式實(shí)現(xiàn)二代身份證號(hào)碼驗(yàn)證
這篇文章主要介紹了正則表達(dá)式實(shí)現(xiàn)二代身份證號(hào)碼驗(yàn)證的方法,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2018-06-06一個(gè)容易犯錯(cuò)的js手機(jī)號(hào)碼驗(yàn)證正則表達(dá)式(推薦)
這篇文章主要介紹了 一個(gè)容易犯錯(cuò)的js手機(jī)號(hào)碼驗(yàn)證正則表達(dá)式(推薦),需要的朋友可以參考下2017-03-03