再見,Python正則表達(dá)式!
再見,Python正則表達(dá)式!今天,我們就嘗試用一篇文章,帶大家輕松入門Python正則表達(dá)式!re庫
正則表達(dá)式庫,也屬于Python標(biāo)準(zhǔn)庫之一,不用安裝就可以使用。什么是正則表達(dá)式?
正則表達(dá)式是一組由字母和符號組成的特殊文本,可以幫助我們從某個(gè)復(fù)雜的字符串中,提取出滿足我們要求的特殊文本。正則匹配的過程。蘋果相當(dāng)于寫的“正則表達(dá)式”,字符串相當(dāng)于“水果市場”,“正則匹配的過程”就相當(dāng)于拿著蘋果去“水果市場”找蘋果的過程,每找到一個(gè)就返回一個(gè),否則就什么也沒有。常用操作符介紹
第一,元字符; 第二,量化符; 第三,特殊符;
1. 常用元字符
“元字符”,指的是那些不僅僅可以表示字符本身含義、并且還可以表示其他特殊含義的字符。. [ ] () ^ $ | \ ? * + { }共11種,為了更清楚地說明每個(gè)元字符的含義,我這里整理了一張表格供大家參考。
2. 常用量化符
“量化符”,指的就是將緊挨著量化符前面的那個(gè)字符,匹配0次、1次或者多次,詳細(xì)說明見下表。
3. 常用特殊符
“特殊符”,指的就是由轉(zhuǎn)義字符加某些字母組合而成的具有特殊意義的特殊字符,詳細(xì)說明見下表。
常用方法介紹
match()、search()還有findall(),下面我們分別對他們進(jìn)行講述。1. 三大函數(shù)含義對比
match(pattern,string):匹配字符串的開頭,如果開頭匹配不上,則返回None; seach(pattern,string):掃描整個(gè)字符串,匹配后立即返回,不在往后面匹配; findll(pattern,string):掃描整個(gè)字符串,以列表形式返回所有的匹配值;
2. 三大函數(shù)用法對比
import?re
s?=?"黃同學(xué)喜歡唱歌,黃同學(xué)喜歡寫作,黃同學(xué)喜歡吃火鍋!"
s1?=?"喜歡唱歌,喜歡寫作,喜歡吃火鍋"
① 使用match()函數(shù)
re.match("喜歡",s)
re.match("喜歡",s)?==?None
re.match("喜歡",s1)
re.match("喜歡",s1).group()
② 使用search()函數(shù)
re.search("喜歡",s)
re.search("喜歡",s).group()
③ 使用finall()函數(shù)
re.findall("喜歡",s)
3. 其他常用方法
split(pattern,string):按照某個(gè)匹配的正則表達(dá)式,將整個(gè)字符串切分后,以列表返回; sub(pattern,repl,string):按照某個(gè)匹配的正則表達(dá)式,將整個(gè)字符串的某個(gè)字串替換為另外一個(gè)字串; re.I:讓正則表達(dá)式自動忽略大小寫; re.S:讓“.”能夠匹配包括換行符在內(nèi)的任意字符;
s?=?"趙1錢2孫4李8周16吳32鄭64王128黃"
s1?=?"Huang是huang"
s2?=?"黃\n同學(xué)"
需求1:將字符串s按照數(shù)字切分,以一個(gè)漢字組成的列表返回。
re.split("\d+",s)
需求2:將字符串s中的數(shù)字部分,全都替換為空。
re.sub("\d+","?",s)
需求3:將字符串s1中的h匹配出來,不區(qū)分大小寫;
re.findall("h",s1)
re.findall("h",s1,re.I)
需求4:將字符串s2整個(gè)匹配出來,包括換行符;
re.findall(".+",s2)
re.findall(".+",s2,re.S)
推薦閱讀:
入門:?最全的零基礎(chǔ)學(xué)Python的問題? |?零基礎(chǔ)學(xué)了8個(gè)月的Python??|?實(shí)戰(zhàn)項(xiàng)目?|學(xué)Python就是這條捷徑
量化:?定投基金到底能賺多少錢?? |?我用Python對去年800只基金的數(shù)據(jù)分析??
干貨:爬取豆瓣短評,電影《后來的我們》?|?38年NBA最佳球員分析?|? ?從萬眾期待到口碑撲街!唐探3令人失望? |?笑看新倚天屠龍記?|?燈謎答題王?|用Python做個(gè)海量小姐姐素描圖?|碟中諜這么火,我用機(jī)器學(xué)習(xí)做個(gè)迷你推薦系統(tǒng)電影
趣味:彈球游戲? |?九宮格? |?漂亮的花?|?兩百行Python《天天酷跑》游戲!
AI:?會做詩的機(jī)器人?|?給圖片上色?|?預(yù)測收入?|?碟中諜這么火,我用機(jī)器學(xué)習(xí)做個(gè)迷你推薦系統(tǒng)電影
小工具:?Pdf轉(zhuǎn)Word,輕松搞定表格和水??!?|?一鍵把html網(wǎng)頁保存為pdf!|??再見PDF提取收費(fèi)!?|?用90行代碼打造最強(qiáng)PDF轉(zhuǎn)換器,word、PPT、excel、markdown、html一鍵轉(zhuǎn)換?|?制作一款釘釘?shù)蛢r(jià)機(jī)票提示器!?|60行代碼做了一個(gè)語音壁紙切換器天天看小姐姐!|
年度爆款文案
點(diǎn)閱讀原文,領(lǐng)AI全套資料!
評論
圖片
表情


