日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > python >内容正文

python

匹配正则_程序员入门基础:python正则表达式贪婪匹配和非贪婪匹配

發(fā)布時間:2024/7/23 python 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 匹配正则_程序员入门基础:python正则表达式贪婪匹配和非贪婪匹配 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

此文為python正則表達(dá)式的高階入門,正則基礎(chǔ)入門請參考程序員入門基礎(chǔ):python的正則表達(dá)式。

一、貪婪匹配和非貪婪匹配

舉例說明概念:

print('非貪婪匹配',re.search('el+?', 'hello world',re.I))print('貪婪匹配',re.search('el+', 'hello world',re.I))貪婪匹配 非貪婪匹配

從代碼中可以看出:

貪婪模式:正則表達(dá)式一般趨向于最大字符長度的匹配,也就是所謂的貪婪匹配。如上面的結(jié)果為“ell”

非貪婪模式:在整個表達(dá)式匹配成功的前提下,盡可能最少長度的匹配,如上面的結(jié)果為“el”

二、量詞匹配

常見的量詞有*,+,?,{m,n}

re*匹配0個或多個的表達(dá)式。re+匹配1個或多個的表達(dá)式。re?匹配0個或1個由前面的正則表達(dá)式定義的片段,非貪婪方式re{ n}匹配n個前面表達(dá)式。例如,"o{2}"不能匹配"god"中的"o",但是能匹配"good"中的兩個o。re{ n,}精確匹配n個前面表達(dá)式。例如,"o{2,}"不能匹配"god"中的"o",但能匹配"gooood"中的所有o。"o{1,}"等價于"o+"。"o{0,}"則等價于"o*"。re{ n, m}匹配 n 到 m 次由前面的正則表達(dá)式定義的片段,貪婪方式

在python中默認(rèn)采用的是貪婪模式,使用非貪婪模式的話,只需要在量詞后面直接加上一個問號”?”。其他的量詞匹配都是盡可能多地滿足匹配。

三、代碼示例

import reprint('貪婪匹配',re.search('little.*', '2 little dogs ate my homework yesterday.',re.I))print('非貪婪匹配',re.search('little.*?', '2 little dogs ate my homework yesterday.',re.I))print('量詞匹配長度為2',re.search('little.{2}', '2 little dogs ate my homework yesterday.',re.I))print('量詞匹配長度至少為2',re.search('little.{2,}', '2 little dogs ate my homework yesterday.',re.I))print('量詞匹配貪婪',re.search('little.{2,6}', '2 little dogs ate my homework yesterday.',re.I))print('量詞匹配非貪婪',re.search('little.{2,6}?', '2 little dogs ate my homework yesterday.',re.I))貪婪匹配 非貪婪匹配 量詞匹配長度為2 量詞匹配長度至少為2 量詞匹配貪婪 量詞匹配非貪婪

.*表示匹配后續(xù)單個字符串的0個或多個

1、從代碼中可以看出,默認(rèn)的貪婪匹配“l(fā)ittle.*”,只有找到單個字符串不滿足或匹配結(jié)束時才會停止匹配。

2、而非貪婪匹配,只要是后續(xù)單個字符串有*(匹配0個或多個的表達(dá)式)個匹配就停止,故匹配結(jié)果為little。

3、組合匹配中,問號(?)配合其他量詞使用,可以更好的控制匹配結(jié)果長度。

四、總結(jié)

python正則表達(dá)式的貪婪模式與非貪婪模式,可以簡單理解是否加問號(?),但合理利用其他量詞匹配(如*,+,{m,n}),可能會達(dá)到事半功倍的效果。

總結(jié)

以上是生活随笔為你收集整理的匹配正则_程序员入门基础:python正则表达式贪婪匹配和非贪婪匹配的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。