再見,Python正則表達(dá)式!
點(diǎn)擊上方Python知識(shí)圈,設(shè)為星標(biāo)
回復(fù)100獲取100題PDF
閱讀文本大概需要 5 分鐘
再見,Python正則表達(dá)式!今天,我們就嘗試用一篇文章,帶大家輕松入門Python正則表達(dá)式!re庫(kù)
正則表達(dá)式庫(kù),也屬于Python標(biāo)準(zhǔn)庫(kù)之一,不用安裝就可以使用。什么是正則表達(dá)式?
正則表達(dá)式是一組由字母和符號(hào)組成的特殊文本,可以幫助我們從某個(gè)復(fù)雜的字符串中,提取出滿足我們要求的特殊文本。正則匹配的過程。蘋果相當(dāng)于寫的“正則表達(dá)式”,字符串相當(dāng)于“水果市場(chǎng)”,“正則匹配的過程”就相當(dāng)于拿著蘋果去“水果市場(chǎng)”找蘋果的過程,每找到一個(gè)就返回一個(gè),否則就什么也沒有。常用操作符介紹
第一,元字符; 第二,量化符; 第三,特殊符;
1. 常用元字符
“元字符”,指的是那些不僅僅可以表示字符本身含義、并且還可以表示其他特殊含義的字符。. [ ] () ^ $ | \ ? * + { }共11種,為了更清楚地說明每個(gè)元字符的含義,我這里整理了一張表格供大家參考。
2. 常用量化符
“量化符”,指的就是將緊挨著量化符前面的那個(gè)字符,匹配0次、1次或者多次,詳細(xì)說明見下表。
3. 常用特殊符
所謂“特殊符”,指的就是由轉(zhuǎn)義字符加某些字母組合而成的具有特殊意義的特殊字符,詳細(xì)說明見下表。
常用方法介紹
match()、search()還有findall(),下面我們分別對(duì)他們進(jìn)行講述。1. 三大函數(shù)含義對(duì)比
match(pattern,string):匹配字符串的開頭,如果開頭匹配不上,則返回None; seach(pattern,string):掃描整個(gè)字符串,匹配后立即返回,不在往后面匹配; findll(pattern,string):掃描整個(gè)字符串,以列表形式返回所有的匹配值;
2. 三大函數(shù)用法對(duì)比
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á)式自動(dòng)忽略大小寫; 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)
往期推薦 01 02 03
我就知道你“在看” 

評(píng)論
圖片
表情
