午夜剧场伦理_日本一道高清_国产又黄又硬_91黄色网战_女同久久另类69精品国产_妹妹的朋友在线

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

正則表達(dá)式+Python re模塊詳解

瀏覽:109日期:2022-08-01 13:46:47

正則表達(dá)式(Regluar Expressions)又稱(chēng)規(guī)則表達(dá)式,在代碼中常簡(jiǎn)寫(xiě)為REs,regexes或regexp(regex patterns)。它本質(zhì)上是一個(gè)小巧的、高度專(zhuān)用的編程語(yǔ)言。 通過(guò)正則表達(dá)式可以對(duì)指定的文本實(shí)現(xiàn)匹配測(cè)試、內(nèi)容查找、內(nèi)容替換、字符串分割 等功能。

re模塊介紹

Python中的re模塊提供了一個(gè)正則表達(dá)式引擎接口,它允許我們將正則表達(dá)式編譯成模式對(duì)象,然后通過(guò)這些模式對(duì)象執(zhí)行模式匹配搜索和字符串分割、子串替換等操作。re模塊為這些操作分別提供了模塊級(jí)別的函數(shù)以及相關(guān)類(lèi)的封裝。

正則表達(dá)式一些小規(guī)則 ①元字符

正則表達(dá)式+Python re模塊詳解

②量詞

正則表達(dá)式+Python re模塊詳解

③貪婪和非貪婪匹配

總是在量詞范圍內(nèi)盡量多匹配 - 貪婪 總是在量詞范圍內(nèi)盡量少匹配 - 惰性 .*?x 匹配任意內(nèi)容任意次數(shù) 遇到x就停止 .+?x 匹配任意內(nèi)容至少1次 遇到x就停止

④轉(zhuǎn)義符問(wèn)題

. 有特殊的意義,取消特殊的意義 取消一個(gè)元字符的特殊意義有兩種方法 在這個(gè)元字符前面加 對(duì)一部分字符生效,把這個(gè)元字符放在字符組里 [.()+?*]

Python --> re模塊

findall會(huì)優(yōu)先顯示分組內(nèi)的內(nèi)容*****取消優(yōu)先顯示(?:正則)search只能返回第一個(gè)符合條件的項(xiàng)得到的結(jié)果需要.group取值默認(rèn)獲取完整的匹配結(jié)果通過(guò)group(n)取第n個(gè)分組中的內(nèi)容

# search 還是按照完整的正則進(jìn)行匹配,顯示也顯示匹配到的第一個(gè)內(nèi)容,但是我們可以通過(guò)給group方法傳參數(shù)# 來(lái)獲取具體文組中的內(nèi)容ret = re.search(’9(d)(d)’,’19740ash93010uru’)print(ret) # 變量 -- > <re.Match object; span=(1, 4), match=’974’>if ret: print(ret.group()) # --> 974 print(ret.group(1)) # --> 7 print(ret.group(2)) # --> 4# findall # 取所有符合條件的,優(yōu)先顯示分組中的# search 只取第一個(gè)符合條件的,沒(méi)有優(yōu)先顯示這件事兒 # 得到的結(jié)果是一個(gè)變量 # 變量.group() 的結(jié)果 完全和 變量.group(0)的結(jié)果一致 # 變量.group(n) 的形式來(lái)指定獲取第n個(gè)分組中匹配到的內(nèi)容# 加上括號(hào) 是為了對(duì)真正需要的內(nèi)容進(jìn)行提取ret = re.findall(’<w+>(w+)</w+>’,’<h1>askh930s02391j192agsj</h1>’)print(ret) # --> [’askh930s02391j192agsj’]

其他的內(nèi)容在代碼中有詳細(xì)的注釋?zhuān)蠹铱梢詮?fù)制我的代碼一步一步運(yùn)行然后實(shí)驗(yàn)

以下的內(nèi)容有:split sub subn math,compile,finditer

# split sub subn math,compile,finditer# splitres = re.split(’d+’, 'cyx123456cyxx')print(res) # --> [’cyx’, ’cyxx’]res = re.split(’(d+)’, 'cyx123456cyxx') # 保留分組print(res) # --> [’cyx’, ’123456’, ’cyxx’]# sub 替換res = re.sub(’d+’, ’我把數(shù)字替換了’, 'cyx123456cyxxx123456') # 默認(rèn)全部替換,當(dāng)然也可以替換一次re.sub(’d+’,’我把數(shù)字替換了’,'cyx123456cyxxx123456',1)print(res) # --> cyx我把數(shù)字替換了cyxxx我把數(shù)字替換了# subn 替換了并顯示替換的次數(shù)res = re.subn(’d+’, ’我把數(shù)字替換了’, 'cyx123456cyxxx123456')print(res) # --> (’cyx我把數(shù)字替換了cyxxx我把數(shù)字替換了’, 2)# match 這個(gè)就相當(dāng)與加了個(gè)^ (和search差不多) --> 主要用來(lái)規(guī)定這個(gè)字符號(hào)必須是什么樣的res = re.match(’d+’, ’cyx123456cyxxx’)print(res) # --> Noneres = re.match(’d+’, ’123cyx456cyxxx’)print(res.group()) # --> 123# compile -- 節(jié)省代碼的時(shí)間的工具# 假如同一個(gè)正則表達(dá)式要被使用多次# 節(jié)省了多次解析同一個(gè)正則表達(dá)式的時(shí)間ret = re.compile('d+')res = ret.search('cyx12456cyxXX123')print(res.group()) # --> 12456# finditer --> 節(jié)省空間ret = re.finditer('d+', 'cyx123456cyxxx125644')for r in ret: print(r.group()) # --> 123456 # 125644# 怎么又節(jié)省時(shí)間又節(jié)省空間呢?ret = re.compile(’d+’)res = ret.finditer('cyx222231fddsf45746sdf2123sdf56456sdf10123sdf123132sdf')for r in res: print(r.group())'''2222314574621235645610123123132'''# 分組命名(?P<組名>正則) (?P=組名)# 有的時(shí)候我們要匹配的內(nèi)容是包含在不想要的內(nèi)容之中的,# 只能先把不想要的內(nèi)容匹配出來(lái),然后再想辦法從結(jié)果中去掉# 分組命名的用法 (找兩個(gè)組里面是一樣的內(nèi)容)exp = ’<abc>asdasf54545645698asdasd</abc>00545sdfsdf</abd>’ret = re.search(’<(?P<tag>w+)>.*?</(?P=tag)’, exp)print(ret) # -- > <re.Match object; span=(0, 33), match=’<abc>asdasf54545645698asdasd</abc’># exp2:import reret = re.search(’d(d)d(w+?)(d)(w)d(d)d(?P<name1>w+?)(d)(w)d(d)d(?P<name2>w+?)(d)(w)’,’123abc45678agsf_123abc45678agsf123abc45678agsf’)print(ret.group(’name1’)) # -- > agsf_123abcprint(ret.group(’name2’)) # -- > agsf

今日小思考

當(dāng)我們有一個(gè)這樣的列表:

lis = [’’, ’z’, ’c’, ’asd’, ’sdf’, ’’, ’asd’]

那么我們?nèi)绾螌⒗锩娴目兆址麆h除呢?

ret = filter(lambda n: n, lis)print(list(ret)) # --> [’z’, ’c’, ’asd’, ’sdf’, ’asd’]

總結(jié)

到此這篇關(guān)于正則表達(dá)式+Python re模塊詳解的文章就介紹到這了,更多相關(guān)正則表達(dá)式 python re模塊內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

標(biāo)簽: Python 編程
相關(guān)文章:
主站蜘蛛池模板: 超碰997 | 天天操天天爽天天干 | 十八女人毛片 | 在线免费激情视频 | 国产aaaaaaaaa| 黄色片子免费看 | 玖玖精品| 欧美久久久精品 | 最近韩国日本免费高清观看 | 日韩精品导航 | 91日本视频 | 超碰自拍97 | 国内av在线| 久久久精品福利 | 91传媒理伦片在线观看 | h片在线播放 | 免费av观看 | 日韩在线视频一区二区三区 | 91精品国产自产91精品 | 欧美成人精品一区二区三区在线看 | 国产精品永久免费 | 天堂网视频在线 | 正在播放久久 | 国产精品一区二区视频 | 久久视频在线免费观看 | 色444| 亚洲免费在线 | 色av吧| 黄色在线免费观看网站 | 老司机免费精品视频 | 国产精品不卡在线观看 | 国产一区二区三区18 | 亚洲精品www久久久久久广东 | 久久嫩草 | 在线播放第一页 | 一本色道综合久久欧美日韩精品 | 国产精品一区久久久 | 狠狠爱夜夜 | 青青草在线播放 | 久久精品无码一区二区三区 | 黄色w站 |