Python正則表達(dá)式的另類解答
一、正則表達(dá)式的作用
提示:正則表達(dá)式是一段特殊的字符串,它表示的是一段有規(guī)律的信息。如果我們想從一段文字中提取想要的內(nèi)容,就可以通過正則表達(dá)式來方便的幫助我們提取。
提示:以下是本篇文章正文內(nèi)容,下面案例可供參考
二、正則表達(dá)式基本符號
1.點(diǎn)號“.”
“.”表示的是匹配除了換行符以外的任何一個字符,包括但不限于英文字母、數(shù)字、漢字、英文標(biāo)點(diǎn)符號和中文標(biāo)點(diǎn)符號。
2.星號“”
“”表示匹配它前面的一個子表達(dá)式(普通字符、另一個或幾個正則表達(dá)式符號)0次到無限次。
3.問號“?”
“?”表示匹配它前面的子表達(dá)式0次或者1次。注意,這里的問號是英文問號。
4.?dāng)?shù)字“\d”
“\d”在正則表達(dá)式里表示一位數(shù)字,“\d”由反斜杠和字母d構(gòu)成的,但是要把“\d”看成一個正則表達(dá)式符號整體。
5.小括號“()”
小括號可以把括號里面的內(nèi)容提取出來。
三、Python自帶正則表達(dá)式模塊
Python自帶一個非常強(qiáng)大的的正則表達(dá)式模塊,名字為“re”,也就是“regular expression”的首字母縮寫。在Python中需要先使用導(dǎo)入的語句:import re 導(dǎo)入這個模塊再進(jìn)行使用。
1.findall函數(shù)
findall的函數(shù)原型為:re.findall(pattern, string, flags=0)
pattern表示正則表達(dá)式,string表示原來的字符串,flags表示一些特殊功能的標(biāo)志。 這個參數(shù)是可以省略的。當(dāng)不省略的時候,具有一些輔助功能,例如忽略大小寫、忽略換行符等。
import re
text = '牛肉價格:70¥,九節(jié)蝦價格:120¥,西蘭花價格:5¥,馬鮫魚價格:40¥'
prices = re.findall('價格:(.*?)¥', text)
print('正則表達(dá)式返回的價格:{}'.format(prices))
findall返回的結(jié)果是一個列表,包含了所有的匹配到的結(jié)果:

2. search()的函數(shù)原型為:
re.search(pattern, string, flags=0)用法和findall()的用法一樣,但是search()只會返回第1個滿足要求的字符串。對于從超級大的文本里面只找第1個數(shù)據(jù)特別有用,可以大大提高程序的運(yùn)行效率。
import re
text = '牛肉價格:70¥,九節(jié)蝦價格:120¥,西蘭花價格:5¥,馬鮫魚價格:40¥'
prices = re.search('價格:(.*?)¥', text)
print('正則表達(dá)式返回的價格:{}'.format(prices.group(1)))
對于結(jié)果,如果匹配成功,則是一個正則表達(dá)式的對象;如果沒有匹配到任何數(shù)據(jù),就是None。 如果需要得到匹配到的結(jié)果,則需要通過.group()這個方法來獲取里面的值。group()的參數(shù)最大不能超過正則表達(dá)式里面括號的個數(shù)。參數(shù)為1表示讀取第1個括號中的內(nèi)容,參數(shù)為2表示讀取第2個括號中的內(nèi)容,以此類推。

總結(jié)
本篇文章就到這里了,希望能夠給你帶來幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!
相關(guān)文章
pycharm中使用anaconda部署python環(huán)境的方法步驟
這篇文章主要介紹了pycharm中使用anaconda部署python環(huán)境的方法步驟,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-12-12
Python BeautifulSoup基本用法詳解(通過標(biāo)簽及class定位元素)
這篇文章主要介紹了Python BeautifulSoup基本用法(通過標(biāo)簽及class定位元素),本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-08-08
Pandas:Series和DataFrame刪除指定軸上數(shù)據(jù)的方法
今天小編就為大家分享一篇Pandas:Series和DataFrame刪除指定軸上數(shù)據(jù)的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-11-11
詳解Python開發(fā)語言中的基本數(shù)據(jù)類型
數(shù)據(jù)類型想必大家都知道是什么含義,指的是輸入數(shù)據(jù)的類型,任何數(shù)據(jù)都有明確的數(shù)據(jù)類型。本文主要和大家聊聊Python的三種基本數(shù)據(jù)類型,感興趣的可以了解一下2022-10-10
python實(shí)現(xiàn)在遍歷列表時,直接對dict元素增加字段的方法
今天小編就為大家分享一篇python實(shí)現(xiàn)在遍歷列表時,直接對dict元素增加字段的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-01-01
python使用正則表達(dá)式檢測密碼強(qiáng)度源碼分享
客戶系統(tǒng)升級,要求用戶密碼符合一定的規(guī)則,即:包含大小寫字母、數(shù)字、符號,長度不小于8,于是先用python寫了個簡單的測試程序:2014-06-06

