python常用的正則表達(dá)式大全
1.正則表達(dá)式
正則表達(dá)式是用來匹配與查找字符串的,從網(wǎng)上爬取數(shù)據(jù)自然或多或少會(huì)用到正則表達(dá)式,python的正則表達(dá)式要先引入re模塊,正則表達(dá)式以r引導(dǎo),例如:

其中**r“\d+”**正則表達(dá)式表示匹配連續(xù)的多個(gè)數(shù)值,search是re中的函數(shù),從"abc123cd"字符串中搜索連續(xù)的數(shù)值,得到"123",返回一個(gè)匹配對(duì)象,結(jié)果如上.
2.字符串"\d"匹配0~9之間的一個(gè)數(shù)值

3.字符"+"重復(fù)前面一個(gè)匹配字符一次或者多次.
注意:**r"b\d+"**第一個(gè)字符要匹配"b",后面是連續(xù)的多個(gè)數(shù)字,因此"是b1233",不是"a12".

4.字符"*"重復(fù)前面一個(gè)匹配字符零次或者多次.
“" 與 "+"類似,但有區(qū)別,列如:
可見 r"ab+“匹配的是"ab”,但是r"ab “匹配的是"a”,因?yàn)楸硎?quot;b"可以重復(fù)零次,但是”+“卻要求"b"重復(fù)一次以上.

5.字符"?"重復(fù)前面一個(gè)匹配字符零次或者一次.
匹配結(jié)果"ab”,重復(fù)b一次.

6.字符".“代表任何一個(gè)字符,但是沒有特別聲明時(shí)不代表字符”\n".
結(jié)果“.”代表了字符"x".

7."|"代表把左右分成兩個(gè)部分 .
結(jié)果匹配"ab"或者"ba"都可以.

8.特殊字符使用反斜杠"“引導(dǎo),例如”\r"、"\n"、"\t"、"\"分別表示回車、換行、制表符號(hào)與反斜線自己本身.

9.字符"\b"表示單詞結(jié)尾,單詞結(jié)尾包括各種空白字符或者字符串結(jié)尾.
結(jié)果匹配"car",因?yàn)?quot;car"后面是一個(gè)空格.

10."[]中的字符是任選擇一個(gè),如果字符ASCll碼中連續(xù)的一組,那么可以使用"-"字符連接,例如[0-9]表示0-9的其中一個(gè)數(shù)字,[A-Z]表示A-Z的其中一個(gè)大寫字符,[0-9A-z]表示0-9的其中一個(gè)數(shù)字或者A-z的其中一個(gè)大寫字符.

11."^"出現(xiàn)在[]的第一個(gè)字符位置,就代表取反,例如[ ^ab0-9]表示不是a、b,也不是0-9的數(shù)字.

12."\s"匹配任何空白字符,等價(jià)"[\r\n\x20\t\f\v]"

13."\w"匹配包括下劃線子內(nèi)的單詞字符,等價(jià)于"[a-zA-Z0-9]"

14."$"字符比配字符串的結(jié)尾位置
匹配結(jié)果是最后一個(gè)"ab",而不是第一個(gè)"ab"

15.使用括號(hào)(…)可以把(…)看出一個(gè)整體,經(jīng)常與"+"、"*"、"?"的連續(xù)使用,對(duì)(…)部分進(jìn)行重復(fù).
結(jié)果匹配"abab","+“對(duì)"ab"進(jìn)行了重復(fù)

16.查找匹配字符串
正則表達(dá)式re庫(kù)的search函數(shù)使用正則表達(dá)式對(duì)要匹配的字符串進(jìn)行匹配,如果匹配不成功返回None,如果匹配成功返回一個(gè)匹配對(duì)象,匹配對(duì)象調(diào)用start()函數(shù)得到匹配字符的開始位置,匹配對(duì)象調(diào)用end()函數(shù)得到匹配字符串的結(jié)束位置,search雖然只返回匹配第一次匹配的結(jié)果,但是我們只要連續(xù)使用search函數(shù)就可以找到字符串全部匹配的字符串.
匹配找出英文句子中所有單詞
我們可以使用正則表達(dá)式r”[A-Za-z]+\b"匹配單詞,它表示匹配由大小寫字母組成的連續(xù)多個(gè)字符,一般是一個(gè)單詞,之后"\b"表示單詞結(jié)尾.
程序開始匹配到一個(gè)單詞后m.start(),m.end()就是單詞的起始位置,s[start:end]為截取的單詞,之后程序再次匹配字符串s=s[end:],即字符串的后半段,一直到匹配完畢為止就找出每個(gè)單詞.

總結(jié)
到此這篇關(guān)于python常用正則表達(dá)式的文章就介紹到這了,更多相關(guān)python正則表達(dá)式內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python利用有道翻譯實(shí)現(xiàn)"語(yǔ)言翻譯器"的功能實(shí)例
小編就為大家分享一篇python利用有道翻譯實(shí)現(xiàn)"語(yǔ)言翻譯器"的功能實(shí)例。具有比較好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2017-11-11
python從list列表中選出一個(gè)數(shù)和其對(duì)應(yīng)的坐標(biāo)方法
今天小編就為大家分享一篇python從list列表中選出一個(gè)數(shù)和其對(duì)應(yīng)的坐標(biāo)方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-07-07
利用python爬取古詩(shī)文網(wǎng)中各類古詩(shī)的方法
這篇文章主要介紹了利用python爬取古詩(shī)文網(wǎng)中各類古詩(shī)的方法,文中通過代碼示例給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下2024-03-03
Python安裝Flask環(huán)境及簡(jiǎn)單應(yīng)用示例
這篇文章主要介紹了Python安裝Flask環(huán)境及簡(jiǎn)單應(yīng)用,結(jié)合實(shí)例形式分析了Flask框架的安裝、以及路由、重定向、cookie等相關(guān)操作實(shí)現(xiàn)方法,需要的朋友可以參考下2019-05-05
python 異常的傳遞性及主動(dòng)拋出學(xué)習(xí)
這篇文章主要為大家介紹了python 異常的傳遞性及主動(dòng)拋出學(xué)習(xí),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-03-03

