亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > Python > 正文

python 正則表達式貪婪模式與非貪婪模式原理、用法實例分析

2024-09-09 19:02:13
字體:
來源:轉載
供稿:網友

本文實例講述了python 正則表達式貪婪模式與非貪婪模式原理、用法。分享給大家供大家參考,具體如下:

之前未接觸過正則表達式,今日看python網絡爬蟲的源碼,里面一行正則表達式匹配的代碼初看之下,不是很理解,代碼如下:

myItems = re.findall('<div.*?class="content".*?title="(.*?)">(.*?)</div>',unicodePage,re.S)

“.*?”這種匹配方式,按理解應該是匹配任意字符0個或多個(re.S模式,“.”可以匹配“/n”),但是這個“?”總覺的在這兒是多余的,既然不理解,就敲代碼試試:

import repatern = re.compile('www/..*')match1 = patern.match("www.baidu.com")if match1:  print(match1.group())else:  print("match1 don't match")#output>>> ==================RESTART =============================>>> www.baidu.com

這個結果,應該說是意料之中,加個“?”呢?

import repatern = re.compile('www/..*?')match1 = patern.match("www.baidu.com")if match1:  print(match1.group())else:  print("match1 don't match")#output>>> ==================RESTART =============================>>> www.

竟然是這個結果。。。“.?”一個字符都沒匹配,按“.”、“”、“?”的匹配理解,也就是“*”“?”均匹配前面字符0次,才會是這個結果,可是為啥就是0次了?

這就是正則表達式貪婪模式和非貪婪模式:

貪婪模式,總是嘗試匹配盡可能多的字符; 非貪婪模式則相反,總是嘗試匹配盡可能少的字符。

Python里數量詞默認是貪婪的,這就解釋了第一個匹配實驗,輸出結果為”www.baidu.com”(貪婪模式),也就是說第二個匹配實驗是非貪婪模式,僅僅因為加了“?”,繼續實驗

import repatern = re.compile('www/..?')match1 = patern.match("www.baidu.com")if match1:  print(match1.group())else:  print("match1 don't match")#output>>> ==================RESTART =============================>>> www.b

此次匹配結果,顯然是貪婪模式。奇怪了,也就是“?”的特殊組合才是非貪婪模式。

網上搜索得如下說明:

標準量詞修飾的子表達式,在可匹配可不匹配的情況下,總會先嘗試進行匹配,稱這種方式為匹配優先,或者貪婪模式。此前介紹的一些量詞,“{m}”、“{m,n}”、“{m,}”、“?”、“*”和“+”都是匹配優先的。
一些NFA正則引擎支持忽略優先量詞,也就是在標準量詞后加一個“?”,此時,在可匹配可不匹配的情況下,總會先忽略匹配,只有在由忽略優先量詞修飾的子表達式,必須進行匹配才能使整個表達式匹配成功時,才會進行匹配,稱這種方式為忽略優先,或者非貪婪模式。忽略優先量詞包括“{m}?”、“{m,n}?”、“{m,}?”、“??”、“*?”和“+?”。

顯然“*?”的組合是非貪婪模式,猜想正確,原來如此啊。

PS:這里再為大家提供2款非常方便的正則表達式工具供大家參考使用:

JavaScript正則表達式在線測試工具:
http://tools.jb51.net/regex/javascript

正則表達式在線生成工具:
http://tools.jb51.net/regex/create_reg

更多關于Python相關內容可查看本站專題:《Python正則表達式用法總結》、《Python數據結構與算法教程》、《Python函數使用技巧總結》、《Python字符串操作技巧匯總》、《Python入門與進階經典教程》及《Python文件與目錄操作技巧匯總》

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美中文字幕在线| 欧美黑人xxxx| 亚洲激情在线观看视频免费| 国产综合视频在线观看| 在线观看免费高清视频97| 久久久久成人网| 日本三级韩国三级久久| 91精品在线看| 国产乱人伦真实精品视频| 精品中文字幕在线2019| 青青在线视频一区二区三区| 久久亚洲精品一区二区| 国产69精品久久久| 亚洲欧美中文日韩v在线观看| 国模极品一区二区三区| 国产福利精品视频| 精品亚洲一区二区三区在线观看| 国产精品久久97| 欧美精品一区二区免费| 欧美最猛性xxxxx(亚洲精品)| 2024亚洲男人天堂| 日韩有码在线视频| 最近2019年日本中文免费字幕| 亚洲国产免费av| 久久国产精品影视| 国产成人福利视频| 国产成人97精品免费看片| 中文字幕综合一区| 欧美另类69精品久久久久9999| 久久久久久亚洲精品不卡| 国产精品视频导航| 一区二区在线视频| 久久久久久久激情视频| 久久九九全国免费精品观看| www高清在线视频日韩欧美| 欧美视频在线观看免费网址| 欧美日韩另类在线| 国产ts人妖一区二区三区| 亚洲日本aⅴ片在线观看香蕉| 亚洲成年人影院在线| 欧美成人激情图片网| 91色在线观看| 国产精品爱久久久久久久| 日韩精品在线影院| 日韩黄色在线免费观看| 亚洲国产精品系列| 日韩av123| 国产精品尤物福利片在线观看| 日韩av在线导航| 亚洲成人a级网| 欧美性xxxxxxx| 久久久久久久国产| 中文字幕精品在线视频| 国产日本欧美一区二区三区| 亚洲人成在线一二| 欧美亚洲视频在线观看| 国产亚洲欧美日韩一区二区| 欧美午夜无遮挡| 日韩女优人人人人射在线视频| 91高清视频在线免费观看| 欧美做受高潮电影o| 欧美日韩不卡合集视频| 欧美激情视频免费观看| 91精品久久久久久久久久久久久久| 国产精品久久久久久久电影| 成人a视频在线观看| 午夜欧美大片免费观看| 性色av一区二区三区在线观看| 亚洲福利小视频| 亚洲欧美日韩在线一区| 欧美整片在线观看| 欧美日韩亚洲一区二区| 成人性生交xxxxx网站| 国产亚洲精品美女久久久| 欧美影院在线播放| 亚洲福利视频免费观看| 久久综合久久美利坚合众国| 97人人做人人爱| 欧美精品激情在线观看| 久久久久久97| 国产精品日韩专区| 欧美精品在线免费播放| 国产综合久久久久久| 日韩电影视频免费| 国产亚洲精品成人av久久ww| 日韩大片免费观看视频播放| 亚州欧美日韩中文视频| 在线观看国产精品日韩av| 中国china体内裑精亚洲片| 国产乱人伦真实精品视频| 亚洲自拍偷拍色片视频| 成人xxxx视频| 国产精品视频免费观看www| 国产一级揄自揄精品视频| 欧美日韩国产综合新一区| 6080yy精品一区二区三区| 国产亚洲精品一区二555| 91av视频在线| 欧美另类极品videosbestfree| 91在线精品播放| 一区二区国产精品视频| 久久久久久久av| 亚洲国产日韩欧美综合久久| 亚洲精品99999| 日韩精品中文在线观看| 在线视频亚洲欧美| 久久综合九色九九| 一区二区三区久久精品| 成人性生交大片免费看小说| 亚洲天堂色网站| 91精品久久久久久久久久久久久| 日韩成人av网址| 高清亚洲成在人网站天堂| 亚洲国产欧美一区二区丝袜黑人| 亚洲第一网中文字幕| 国内精品久久久久久中文字幕| 亚洲国产成人久久| 欧美另类交人妖| 国模gogo一区二区大胆私拍| 亚洲男人的天堂在线播放| 亚洲视频在线观看网站| 久久久久久久97| 亚洲天堂网站在线观看视频| 成人黄色生活片| 国产一区二中文字幕在线看| 亚洲精品白浆高清久久久久久| 亚洲精品v天堂中文字幕| 国产精品麻豆va在线播放| 亚洲va国产va天堂va久久| 日韩高清中文字幕| 欧美成年人视频| 在线播放国产一区中文字幕剧情欧美| 国产日韩综合一区二区性色av| 亚洲国产精品久久久久秋霞蜜臀| 亚洲精品乱码久久久久久按摩观| 丝袜亚洲另类欧美重口| 欧美大片在线影院| 国产69精品久久久久99| 国产精品扒开腿爽爽爽视频| 日韩在线观看视频免费| 精品久久久久久中文字幕| 亚洲国产女人aaa毛片在线| 亚洲激情久久久| 法国裸体一区二区| 高清亚洲成在人网站天堂| 欧美在线免费看| 欧美视频第一页| 日韩精品丝袜在线| 欧美极品欧美精品欧美视频| 亚洲欧美国产va在线影院| 日韩美女视频免费在线观看| 日本亚洲欧洲色α| 国产精品激情av电影在线观看| 日韩av综合网| 91九色蝌蚪国产| 亚洲伊人久久大香线蕉av| 国内揄拍国内精品| 国产va免费精品高清在线| 亚洲xxx自由成熟| 欧美成人精品在线视频| 青青草一区二区| 激情成人在线视频| 国产精品久久久久久五月尺| 亚洲在线免费观看|