溫馨提示×

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

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

Python正則表達(dá)式實(shí)例分析

發(fā)布時(shí)間:2022-02-14 09:32:21 來源:億速云 閱讀:160 作者:iii 欄目:開發(fā)技術(shù)

這篇“Python正則表達(dá)式實(shí)例分析”文章的知識(shí)點(diǎn)大部分人都不太理解,所以小編給大家總結(jié)了以下內(nèi)容,內(nèi)容詳細(xì),步驟清晰,具有一定的借鑒價(jià)值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來看看這篇“Python正則表達(dá)式實(shí)例分析”文章吧。

一、正則表達(dá)式的作用

提示:正則表達(dá)式是一段特殊的字符串,它表示的是一段有規(guī)律的信息。如果我們想從一段文字中提取想要的內(nèi)容,就可以通過正則表達(dá)式來方便的幫助我們提取。

提示:以下是本篇文章正文內(nèi)容,下面案例可供參考

二、正則表達(dá)式基本符號(hào)

1.點(diǎn)號(hào)“.”

“.”表示的是匹配除了換行符以外的任何一個(gè)字符,包括但不限于英文字母、數(shù)字、漢字、英文標(biāo)點(diǎn)符號(hào)和中文標(biāo)點(diǎn)符號(hào)。

2.星號(hào)“”

“”表示匹配它前面的一個(gè)子表達(dá)式(普通字符、另一個(gè)或幾個(gè)正則表達(dá)式符號(hào))0次到無限次。

3.問號(hào)“?”

“?”表示匹配它前面的子表達(dá)式0次或者1次。注意,這里的問號(hào)是英文問號(hào)。

4.?dāng)?shù)字“\d”

“\d”在正則表達(dá)式里表示一位數(shù)字,“\d”由反斜杠和字母d構(gòu)成的,但是要把“\d”看成一個(gè)正則表達(dá)式符號(hào)整體。

5.小括號(hào)“()”

小括號(hào)可以把括號(hào)里面的內(nèi)容提取出來。

三、Python自帶正則表達(dá)式模塊

Python自帶一個(gè)非常強(qiáng)大的的正則表達(dá)式模塊,名字為“re”,也就是“regular expression”的首字母縮寫。在Python中需要先使用導(dǎo)入的語句:import re 導(dǎo)入這個(gè)模塊再進(jìn)行使用。

1.findall函數(shù)

findall的函數(shù)原型為:re.findall(pattern, string, flags=0)

pattern表示正則表達(dá)式,string表示原來的字符串,flags表示一些特殊功能的標(biāo)志。 這個(gè)參數(shù)是可以省略的。當(dāng)不省略的時(shí)候,具有一些輔助功能,例如忽略大小寫、忽略換行符等。

import re
text = '牛肉價(jià)格:70¥,九節(jié)蝦價(jià)格:120¥,西蘭花價(jià)格:5¥,馬鮫魚價(jià)格:40¥'
prices = re.findall('價(jià)格:(.*?)¥', text)
print('正則表達(dá)式返回的價(jià)格:{}'.format(prices))

findall返回的結(jié)果是一個(gè)列表,包含了所有的匹配到的結(jié)果:

Python正則表達(dá)式實(shí)例分析

2. search()的函數(shù)原型為:

re.search(pattern, string, flags=0)用法和findall()的用法一樣,但是search()只會(huì)返回第1個(gè)滿足要求的字符串。對(duì)于從超級(jí)大的文本里面只找第1個(gè)數(shù)據(jù)特別有用,可以大大提高程序的運(yùn)行效率。

import re
text = '牛肉價(jià)格:70¥,九節(jié)蝦價(jià)格:120¥,西蘭花價(jià)格:5¥,馬鮫魚價(jià)格:40¥'
prices = re.search('價(jià)格:(.*?)¥', text)
print('正則表達(dá)式返回的價(jià)格:{}'.format(prices.group(1)))

對(duì)于結(jié)果,如果匹配成功,則是一個(gè)正則表達(dá)式的對(duì)象;如果沒有匹配到任何數(shù)據(jù),就是None。 如果需要得到匹配到的結(jié)果,則需要通過.group()這個(gè)方法來獲取里面的值。group()的參數(shù)最大不能超過正則表達(dá)式里面括號(hào)的個(gè)數(shù)。參數(shù)為1表示讀取第1個(gè)括號(hào)中的內(nèi)容,參數(shù)為2表示讀取第2個(gè)括號(hào)中的內(nèi)容,以此類推。

Python正則表達(dá)式實(shí)例分析

以上就是關(guān)于“Python正則表達(dá)式實(shí)例分析”這篇文章的內(nèi)容,相信大家都有了一定的了解,希望小編分享的內(nèi)容對(duì)大家有幫助,若想了解更多相關(guān)的知識(shí)內(nèi)容,請(qǐng)關(guān)注億速云行業(yè)資訊頻道。

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

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎ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