溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

如何在python中使用正則表達(dá)式

發(fā)布時(shí)間:2021-09-10 13:44:28 來(lái)源:億速云 閱讀:396 作者:chen 欄目:編程語(yǔ)言

本篇內(nèi)容主要講解“如何在python中使用正則表達(dá)式”,感興趣的朋友不妨來(lái)看看。本文介紹的方法操作簡(jiǎn)單快捷,實(shí)用性強(qiáng)。下面就讓小編來(lái)帶大家學(xué)習(xí)“如何在python中使用正則表達(dá)式”吧!

 一、前言

我們?cè)谧鼋涌谧詣?dòng)化的時(shí)候,處理接口依賴(lài)的相關(guān)數(shù)據(jù)時(shí),通常會(huì)使用正則表達(dá)式來(lái)進(jìn)行提取相關(guān)的數(shù)據(jù)。

在python使用正則表達(dá)式,可以使用官方庫(kù)re來(lái)實(shí)現(xiàn)。

二、re模塊的使用

在python中使用正則表達(dá)式,需要用到re模塊來(lái)進(jìn)行操作,這邊給大家介紹幾個(gè)re模塊中常用的方法。

01 re.match函數(shù)

  • 參數(shù)說(shuō)明:接收兩個(gè)參數(shù)

① 第一個(gè)是匹配的規(guī)則

② 第二個(gè)是匹配的目標(biāo)字符串

re.match嘗試從字符串的起始位置匹配1一個(gè)模式。

匹配成功,返回的是一個(gè)匹配對(duì)象(這個(gè)對(duì)象包含了我們匹配的信息)。

如果不是起始位置匹配成功的話(huà),match()返回的就是空。

案例:

如何在python中使用正則表達(dá)式

02 re.search方法

  • 參數(shù)說(shuō)明:接收兩個(gè)參數(shù)

① 第一個(gè)是匹配的規(guī)則

② 第二個(gè)是匹配的目標(biāo)字符串

re.search 掃描整個(gè)字符串并返回第一個(gè)成功的匹配。

案例:

如何在python中使用正則表達(dá)式
  • re.match與re.search的區(qū)別:

① re.match從字符串的開(kāi)始位置進(jìn)行匹配,如果字符串開(kāi)始不符合正則表達(dá)式,則匹配失敗,函數(shù)返回空;

② 而re.search匹配整個(gè)字符串,直到找到一個(gè)匹配成功的則進(jìn)行返回,如果整個(gè)字符串中都沒(méi)有找到匹配成功的,則返回空

03 findall方法

  • 參數(shù)說(shuō)明:接收兩個(gè)參數(shù)

① 第一個(gè)是匹配的規(guī)則

② 第二個(gè)是匹配的目標(biāo)字符串

在字符串中找到正則表達(dá)式所匹配的所有子串,并返回一個(gè)列表,如果沒(méi)有找到匹配的,則返回空列表。

案例:

如何在python中使用正則表達(dá)式

注意:match和search是匹配一個(gè)結(jié)果,findall 匹配處所有符合規(guī)則的結(jié)果。

04 sub方法

替換字符串中的某些字符,可以用正則表達(dá)式來(lái)匹配被選子串。

如何在python中使用正則表達(dá)式
  • 參數(shù):

pattern:匹配的規(guī)則;

repl:匹配之后替換的新內(nèi)容;

string:需要按規(guī)則替換的字符串;

count:替換的次數(shù),可以不傳參,默認(rèn)替換所有符合規(guī)則的。

案例:

如何在python中使用正則表達(dá)式

05 貪婪模式說(shuō)明

  • 貪婪模式:Python里數(shù)量詞默認(rèn)是貪婪的,總是嘗試匹配盡可能多的字符;

如下案例:

有一個(gè)字符串s,我們需要在字符串中匹配3個(gè)以上的數(shù)字,字符串中數(shù)字有8個(gè),貪婪模式會(huì)盡可能匹配更多字符,3個(gè)以上,8個(gè)也是3個(gè)以上,那么這里匹配的結(jié)果就是8個(gè)數(shù)字。

如何在python中使用正則表達(dá)式
  • 非貪婪模式:總是嘗試匹配盡可能少的字符,在"*","?","+","{m,n}",{m,}后面加上?,可以關(guān)閉貪婪模式

關(guān)閉貪婪模式之后,盡可能獲取更少的。

如下,只獲取到最前面的3個(gè)數(shù)值(規(guī)則時(shí)至少3個(gè),非貪婪就是匹配最前面符合規(guī)則的3個(gè)數(shù)組)

如何在python中使用正則表達(dá)式

關(guān)于re模塊,更多的使用方法,本文不做過(guò)多的介紹,大家自行研究,謝謝!

下面附上正則表達(dá)式的基本的匹配供大家參考

三、正則表達(dá)式語(yǔ)法

01 表示單字符

  • 單字符:即表示一個(gè)單獨(dú)的字符,比如匹配數(shù)字用\d ,匹配非數(shù)字使用\D。

具體規(guī)則如下:

如何在python中使用正則表達(dá)式

02 表示數(shù)量

如果要匹配某個(gè)字符多次,就可以在字符后面加上數(shù)量進(jìn)行表示。

具體規(guī)則如下:

如何在python中使用正則表達(dá)式

03 表示邊界

用來(lái)表示字符串或者單詞的邊界 如字符串開(kāi)頭,單詞開(kāi)頭等

如何在python中使用正則表達(dá)式

04 匹配分組

對(duì)匹配的內(nèi)容做分組處理

如何在python中使用正則表達(dá)式

到此,相信大家對(duì)“如何在python中使用正則表達(dá)式”有了更深的了解,不妨來(lái)實(shí)際操作一番吧!這里是億速云網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢(xún),關(guān)注我們,繼續(xù)學(xué)習(xí)!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI