正則表達(dá)式

一正則表達(dá)式的語(yǔ)法

正則表達(dá)式是用來(lái)匹配或者描述字符串的工具
用處:
a.判斷輸入的字符是否是手機(jī)號(hào)/郵箱祷嘶,是否是ip地址
b.提取滿足條件的字符串
c.字符串替換
python中通過(guò)re模塊中相應(yīng)的方法來(lái)支持正則表達(dá)式的匹配、查找和替換的功能

image.png

fullmatch(正則表達(dá)式寞蚌,字符串)--->判斷正則表達(dá)式是否完全匹配
正則表達(dá)式:就是一個(gè)字符串,字符串中是正則表達(dá)式語(yǔ)法, r'正則表達(dá)式'
正則表達(dá)式中包含兩個(gè)部分涝焙,一個(gè)是正則表達(dá)式語(yǔ)法對(duì)應(yīng)的字符坠韩,二是普通字符

1. .(匹配任意字符)

一個(gè).只匹配一個(gè)任意字符


image.png

2. \w(匹配一個(gè)字符)

一個(gè)\w只匹配一個(gè)字符


image.png

3. \s(匹配任意空白字符)

空白字符:空格距潘、制表符( \t)、回車(換行(\n))只搁、等輸入空白字符
一個(gè)\s只匹配一個(gè)空白字符


image.png

4. \d(匹配數(shù)字字符)

5. \b(檢測(cè)邊界)

一個(gè)\b不會(huì)去匹配一個(gè)字符音比,而是單純的檢測(cè)\b出現(xiàn)的位置是否是單詞邊界
單詞邊界:字符串開(kāi)始和結(jié)尾、空格氢惋、換行洞翩、標(biāo)點(diǎn)符號(hào)等,可以將兩個(gè)單詞隔開(kāi)的字符都是帶刺邊界


image.png

6. ^(檢測(cè)是否是字符串開(kāi)頭)

image.png

7. $(檢測(cè)是否是字符串結(jié)尾)

image.png

8.\W(匹配非字母焰望,數(shù)字下劃線)

9. \S(匹配非空白字符)

image.png

10. \D(匹配非數(shù)字字符)

image.png

11. \B(檢測(cè)是否不是邊界)

.

12. [](在括號(hào)中出現(xiàn)任意一個(gè)字符)

[字符集] --->匹配一個(gè)字符骚亿,這字符是字符集的任意一個(gè)字符
[字符1-字符2]--->匹配一個(gè)字符,這個(gè)字符是Unicode編碼值在字符1到字符2中的任意一個(gè)字符熊赖,字符1的編碼值小于字符2
例如:[1-9] --->數(shù)字1-9
[a-z] ---->小寫字母
[A-Z]----->大寫字母
注意:’-‘在括號(hào)中来屠,如果放在兩個(gè)字符之間表示范圍


image.png

13. [^字符集]-->(匹配一個(gè)不在字符集中的任意一個(gè)字符)

image.png

二.正則表達(dá)式次數(shù)相關(guān)符號(hào)

1. *(匹配0次或者多次)

字符*--->字符出現(xiàn)0次或者多次

image.png

2. +(匹配一次或者多次)

image.png

3. ?(匹配0次或者一次)

image.png

4.{}(指定次數(shù))

image.png

三.分支和分組

import re

1. | (分支)

條件1 | 條件2 ---->先用條件1去匹配震鹉,如果匹配成功就成功俱笛,如果條件1失敗,用條件2去匹配
注意:如果條件1匹配不成功就不會(huì)去匹配條件2


image.png

2.()(分組)

a.組合(將括號(hào)的內(nèi)容作為一個(gè)整體操作)

b.捕獲--->使用帶括號(hào)的正則表達(dá)式匹配成功后足陨,只獲取括號(hào)中的內(nèi)容

c.重復(fù)-->再正則表達(dá)式中可以通過(guò)\數(shù)字來(lái)重復(fù)前面()中匹配到的結(jié)果嫂粟,數(shù)字代表前第幾個(gè)分組

image.png

3.轉(zhuǎn)義字符

正則表達(dá)式可以通過(guò)在特殊的符號(hào)前加\,來(lái)讓特殊的符號(hào)沒(méi)有意義
. + * $ ^ 等有特殊的功能
注意:在中括號(hào)有特殊功能的符號(hào)墨缘,只代表符號(hào)本身
\不管在哪兒都需要轉(zhuǎn)義
-在[]外面沒(méi)有特殊功能,在[]中要表示-本身零抬,就不要放在兩個(gè)字符之間
()需要轉(zhuǎn)義


image.png

四.re模塊中的函數(shù)

import re

1. compile

compile(正則表達(dá)式字符串) --> 將正則表達(dá)式字符串轉(zhuǎn)換成正則表達(dá)式對(duì)象


image.png

2.fullmatch和match

fullmatch(正則表達(dá)式字符串, 字符串)
--> 用正則表達(dá)式去完全匹配字符串(匹配整個(gè)字符串)镊讼,返回匹配對(duì)象(SRE_Match)或者None

match(正則表達(dá)式字符串, 字符串)
--> 匹配字符串開(kāi)頭,返回匹配對(duì)象或者None


image.png

2.group(group = 0) --> 獲取匹配結(jié)果

group()/group(0) --> 獲取正則表達(dá)式完全匹配的結(jié)果
group(index>0) --> 獲取正則表達(dá)式中第group個(gè)分組匹配到的結(jié)果


image.png

3.search

search(正則表達(dá)式, 字符串)
--> 查找字符串中滿足正則表達(dá)式的第一個(gè)字符串。返回值是匹配對(duì)象或者None


image.png

4.findall

findall(正則表達(dá)式, 字符串) --> 獲取字符串中滿足正則表達(dá)式的所有的子串平夜,返回一個(gè)列表
注意:如果正在表達(dá)式中有分組蝶棋,取值的時(shí)候只取分組中匹配到的結(jié)果;
如果有多個(gè)分組,會(huì)將每個(gè)分組匹配到的結(jié)果作為一個(gè)元祖的元素


image.png

5.finditer

finditer(正則表達(dá)式, 字符串)
--> 查找所有滿足正則條件的子串忽妒,返回值是迭代器玩裙,迭代器中的元素是匹配對(duì)象


6. split

split(正則表達(dá)式,字符串) --> 將字符串按照滿足正則表達(dá)式條件的子串進(jìn)行分割


image.png

7.sub

sub(正則表達(dá)式,repl,字符串) --> 將字符串中滿足正則表達(dá)式條件的子串替換成repl。返回替換后的字符串


image.png
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末段直,一起剝皮案震驚了整個(gè)濱河市吃溅,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌鸯檬,老刑警劉巖决侈,帶你破解...
    沈念sama閱讀 206,839評(píng)論 6 482
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異喧务,居然都是意外死亡赖歌,警方通過(guò)查閱死者的電腦和手機(jī)枉圃,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,543評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)庐冯,“玉大人孽亲,你說(shuō)我怎么就攤上這事≌垢福” “怎么了返劲?”我有些...
    開(kāi)封第一講書(shū)人閱讀 153,116評(píng)論 0 344
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)犯祠。 經(jīng)常有香客問(wèn)我旭等,道長(zhǎng),這世上最難降的妖魔是什么衡载? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 55,371評(píng)論 1 279
  • 正文 為了忘掉前任搔耕,我火速辦了婚禮,結(jié)果婚禮上痰娱,老公的妹妹穿的比我還像新娘弃榨。我一直安慰自己,他們只是感情好梨睁,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,384評(píng)論 5 374
  • 文/花漫 我一把揭開(kāi)白布鲸睛。 她就那樣靜靜地躺著,像睡著了一般坡贺。 火紅的嫁衣襯著肌膚如雪官辈。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 49,111評(píng)論 1 285
  • 那天遍坟,我揣著相機(jī)與錄音拳亿,去河邊找鬼。 笑死愿伴,一個(gè)胖子當(dāng)著我的面吹牛肺魁,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播隔节,決...
    沈念sama閱讀 38,416評(píng)論 3 400
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼鹅经,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了怎诫?” 一聲冷哼從身側(cè)響起瘾晃,我...
    開(kāi)封第一講書(shū)人閱讀 37,053評(píng)論 0 259
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎刽虹,沒(méi)想到半個(gè)月后酗捌,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,558評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,007評(píng)論 2 325
  • 正文 我和宋清朗相戀三年胖缤,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了尚镰。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,117評(píng)論 1 334
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡哪廓,死狀恐怖狗唉,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情涡真,我是刑警寧澤分俯,帶...
    沈念sama閱讀 33,756評(píng)論 4 324
  • 正文 年R本政府宣布,位于F島的核電站哆料,受9級(jí)特大地震影響缸剪,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜东亦,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,324評(píng)論 3 307
  • 文/蒙蒙 一杏节、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧典阵,春花似錦奋渔、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,315評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至歹啼,卻和暖如春玄渗,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背狸眼。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,539評(píng)論 1 262
  • 我被黑心中介騙來(lái)泰國(guó)打工捻爷, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人份企。 一個(gè)月前我還...
    沈念sama閱讀 45,578評(píng)論 2 355
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像巡莹,于是被迫代替她去往敵國(guó)和親司志。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,877評(píng)論 2 345

推薦閱讀更多精彩內(nèi)容

  • 正則表達(dá)式到底是什么東西降宅?字符是計(jì)算機(jī)軟件處理文字時(shí)最基本的單位骂远,可能是字母,數(shù)字腰根,標(biāo)點(diǎn)符號(hào)激才,空格,換行符,漢字等...
    獅子挽歌閱讀 2,136評(píng)論 0 9
  • python的re模塊--細(xì)說(shuō)正則表達(dá)式 可能是東半球最詳細(xì)最全面的re教程,翻譯自官方文檔,因?yàn)楣俜轿臋n寫的是真...
    立而人閱讀 22,833評(píng)論 4 46
  • 注:本篇文章只為方便查看瘸恼,特此保留劣挫,如有冒犯,敬請(qǐng)諒解6АQ构獭! 本文目標(biāo) 30分鐘內(nèi)讓你明白正則表達(dá)式是什么靠闭,并對(duì)它...
    阿杰Alex閱讀 1,478評(píng)論 0 10
  • 原文:http://www.jb51.net/tools/zhengze.html 然后強(qiáng)迫癥如我帐我,因?yàn)槲遗戮W(wǎng)頁(yè)哪...
    你再不來(lái)我要下雪了閱讀 834評(píng)論 1 6
  • 版本:v2.3.5 (2017-6-12) 作者:deerchao 轉(zhuǎn)載請(qǐng)注明來(lái)源 目錄 跳過(guò)目錄 本文目標(biāo) 如何...
    readilen閱讀 950評(píng)論 2 13