python常用的正則表達式大全
1.正則表達式
正則表達式是用來匹配與查找字符串的,從網(wǎng)上爬取數(shù)據(jù)自然或多或少會用到正則表達式,python的正則表達式要先引入re模塊,正則表達式以r引導(dǎo),例如:
其中**r“\d+”**正則表達式表示匹配連續(xù)的多個數(shù)值,search是re中的函數(shù),從"abc123cd"字符串中搜索連續(xù)的數(shù)值,得到"123",返回一個匹配對象,結(jié)果如上.
2.字符串"\d"匹配0~9之間的一個數(shù)值
3.字符"+"重復(fù)前面一個匹配字符一次或者多次.
注意:**r"b\d+"**第一個字符要匹配"b",后面是連續(xù)的多個數(shù)字,因此"是b1233",不是"a12".
4.字符"*"重復(fù)前面一個匹配字符零次或者多次.
“" 與 "+"類似,但有區(qū)別,列如:
可見 r"ab+“匹配的是"ab”,但是r"ab “匹配的是"a”,因為表示"b"可以重復(fù)零次,但是”+“卻要求"b"重復(fù)一次以上.
5.字符"?"重復(fù)前面一個匹配字符零次或者一次.
匹配結(jié)果"ab”,重復(fù)b一次.
6.字符".“代表任何一個字符,但是沒有特別聲明時不代表字符”\n".
結(jié)果“.”代表了字符"x".
7."|"代表把左右分成兩個部分 .
結(jié)果匹配"ab"或者"ba"都可以.
8.特殊字符使用反斜杠"“引導(dǎo),例如”\r"、"\n"、"\t"、"\"分別表示回車、換行、制表符號與反斜線自己本身.
9.字符"\b"表示單詞結(jié)尾,單詞結(jié)尾包括各種空白字符或者字符串結(jié)尾.
結(jié)果匹配"car",因為"car"后面是一個空格.
10."[]中的字符是任選擇一個,如果字符ASCll碼中連續(xù)的一組,那么可以使用"-"字符連接,例如[0-9]表示0-9的其中一個數(shù)字,[A-Z]表示A-Z的其中一個大寫字符,[0-9A-z]表示0-9的其中一個數(shù)字或者A-z的其中一個大寫字符.
11."^"出現(xiàn)在[]的第一個字符位置,就代表取反,例如[ ^ab0-9]表示不是a、b,也不是0-9的數(shù)字.
12."\s"匹配任何空白字符,等價"[\r\n\x20\t\f\v]"
13."\w"匹配包括下劃線子內(nèi)的單詞字符,等價于"[a-zA-Z0-9]"
14."$"字符比配字符串的結(jié)尾位置
匹配結(jié)果是最后一個"ab",而不是第一個"ab"
15.使用括號(…)可以把(…)看出一個整體,經(jīng)常與"+"、"*"、"?"的連續(xù)使用,對(…)部分進行重復(fù).
結(jié)果匹配"abab","+“對"ab"進行了重復(fù)
16.查找匹配字符串
正則表達式re庫的search函數(shù)使用正則表達式對要匹配的字符串進行匹配,如果匹配不成功返回None,如果匹配成功返回一個匹配對象,匹配對象調(diào)用start()函數(shù)得到匹配字符的開始位置,匹配對象調(diào)用end()函數(shù)得到匹配字符串的結(jié)束位置,search雖然只返回匹配第一次匹配的結(jié)果,但是我們只要連續(xù)使用search函數(shù)就可以找到字符串全部匹配的字符串.
匹配找出英文句子中所有單詞
我們可以使用正則表達式r”[A-Za-z]+\b"匹配單詞,它表示匹配由大小寫字母組成的連續(xù)多個字符,一般是一個單詞,之后"\b"表示單詞結(jié)尾.
程序開始匹配到一個單詞后m.start(),m.end()就是單詞的起始位置,s[start:end]為截取的單詞,之后程序再次匹配字符串s=s[end:],即字符串的后半段,一直到匹配完畢為止就找出每個單詞.
總結(jié)
到此這篇關(guān)于python常用正則表達式的文章就介紹到這了,更多相關(guān)python正則表達式內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python利用有道翻譯實現(xiàn)"語言翻譯器"的功能實例
小編就為大家分享一篇python利用有道翻譯實現(xiàn)"語言翻譯器"的功能實例。具有比較好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2017-11-11python從list列表中選出一個數(shù)和其對應(yīng)的坐標(biāo)方法
今天小編就為大家分享一篇python從list列表中選出一個數(shù)和其對應(yīng)的坐標(biāo)方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-07-07Python安裝Flask環(huán)境及簡單應(yīng)用示例
這篇文章主要介紹了Python安裝Flask環(huán)境及簡單應(yīng)用,結(jié)合實例形式分析了Flask框架的安裝、以及路由、重定向、cookie等相關(guān)操作實現(xiàn)方法,需要的朋友可以參考下2019-05-05