教你學(xué)會(huì)使用Python正則表達(dá)式
今天寫爬蟲偶然想到了初學(xué)正則表達(dá)式時(shí)候,看過一篇文章非常不錯(cuò)。檢索一下還真的找到了。
re模塊
re.search
經(jīng)常用match = re.search(pat, str)的形式。因?yàn)橛锌赡芷ヅ洳坏?,所以re.search()后面一般用if statement。
re.match
re.match和re.search很相似,只是re.match是從字符串的開頭開始匹配。
常用正則字符意義 a, X, 9,等字符匹配自己, 元字符不匹配自己,因?yàn)橛刑厥庖饬x,比如 . ^ $ * + ? { }[ ] \ | ( ) . 英文句號,匹配任意字符,不包含'\n' \w 匹配'word'字符,[a-zA-Z0-9] \W 匹配非'word'字符 \b 匹配'word'和'non-word'之間邊界 \s 匹配單個(gè)whitespace字符,space, newline, return, tab, form [\n\r\t\f] \S 匹配non-whitespace字符 \t, \n, \r 匹配tab, newline, return \d 匹配數(shù)字[0-9] ^ 匹配字符串開頭 $ 匹配字符串結(jié)尾 重復(fù)
‘+' 一或多次, ‘*' 零或多次, ‘?' 零或一次
方括號[]
[]類似于or
Square brackets can be used to indicate a set of chars, so [abc] matches 'a' or 'b' or 'c'.
Group Extraction圓括號()
有時(shí)候需要提取匹配字符的一部分,比如剛才的郵箱,我們可能需要其中的username和hostname,這時(shí)候可以用()分別把username和hostname包起來,就像r'([\w.-]+)@([\w.-]+)',如果匹配成功,那么pattern不改變,只是可以用match.group(1)和match.group(2)來username和hostname,match.group()結(jié)果不變。
findall and groups
()和findall()結(jié)合,如果包括一或多個(gè)group,就返回a list of tuples。
給re.search加^之后是一樣的。
re.sub
re.sub(pat, replacement, str)在str里尋找和pattern匹配的字符串,然后用replacement替換。replacement可以包含\1或者\(yùn)2來代替相應(yīng)的group,然后實(shí)現(xiàn)局部替換。
相關(guān)文章
python實(shí)現(xiàn)郵件循環(huán)自動(dòng)發(fā)件功能
這篇文章主要介紹了python實(shí)現(xiàn)郵件循環(huán)自動(dòng)發(fā)件功能,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-09-09python爬蟲爬取bilibili網(wǎng)頁基本內(nèi)容
這篇文章主要介紹了python爬蟲爬取bilibili網(wǎng)頁基本內(nèi)容,用爬蟲爬取bilibili網(wǎng)站排行榜游戲類的所有名稱及鏈接,下面來看看具體的實(shí)現(xiàn)過程吧,需要的朋友可以參考一下2022-01-01Python中np.linalg.norm()用法實(shí)例總結(jié)
在線性代數(shù)中一個(gè)向量通過矩陣轉(zhuǎn)換成另一個(gè)向量時(shí),原有向量的大小就是向量的范數(shù),這個(gè)變化過程的大小就是矩陣的范數(shù),下面這篇文章主要給大家介紹了關(guān)于Python中np.linalg.norm()用法的相關(guān)資料,需要的朋友可以參考下2022-07-07Python報(bào)錯(cuò)AssertionError:can only test a c
這篇文章主要介紹了Python報(bào)錯(cuò)AssertionError:can only test a child proc問題,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-09-09win10環(huán)境下python3.5安裝步驟圖文教程
本文通過圖文并茂的形式給大家介紹了win10環(huán)境下python3.5安裝步驟,需要的朋友可以參考下2017-02-02python-opencv 中值濾波{cv2.medianBlur(src, ksize)}的用法
這篇文章主要介紹了python-opencv 中值濾波{cv2.medianBlur(src, ksize)}的用法,具有很好的參考價(jià)值,希望對大家有所幫助。2021-06-06