day17-總結

一刁赖,正則表達式

fullmatch(正則表達式摄闸,字符串) - 查看字符串和正則表達式是否匹配懂诗,如果不匹配結果式None 正則表達式:r'正則語法'

1.什么是正則表達式

正則表達式是處理字符串的工具唆香,通過不同的正則符號來描述字符串的規(guī)則

2.正則符號(正則表達式的語法)

1)普通字符:除了在正則中有特殊功能和特殊意義以外的字符都算普通字符
普通字符代碼本身
匹配一個字符串有三個字符串。分別是'a','b','c'
2) . - 匹配任意一個字符
一個點只能匹配一個字符
3) \w - 匹配一個數(shù)字滑沧,字母或者_(在ASCII碼表)
一個\w只能匹配一個字符
4)\d - 匹配任意一個數(shù)字字符
匹配一個長度是5的字符串并村,前面兩個字符是任意數(shù)字,后面三個是任意字符
5)\s - 匹配任意一個空白字符
空白字符包括:空格字符滓技,換行字符哩牍,制表符。令漂。膝昆。
6) \大寫字母
\D - 匹配除了數(shù)字字符以外的任意字符(匹配一個非數(shù)字字符)
\S - 匹配一個非空白字符
7) [字符集] - 匹配字符集出現(xiàn)的任意一個字符
注意:一個[]只能匹配一個字符
a.[多個字符] - 例如:[abc] -匹配'abc'中任意一個字符
b.
[1-9] - 匹配1到9中的任意一個字符(字符編碼值遞增)
[a-z] - 匹配任意一個小寫字母
[A-Z] - 匹配任意一個大寫字母
[a-zA-Z] - 匹配任意一個字母
[a-zA-Z\d] - 匹配一個數(shù)字,字母
[\t\n] - 匹配任意一個空白符
[\u4e00-\u9fa5] - 匹配任意一個中文字符
匹配一個長度是4的字符串叠必,第一個字符是1或者3或者7荚孵,后面是abc
re_str=r'[137]abc'
print(fullmatch(re_str,'1abc'))
8) [^字符集] - 匹配不在字符集中的任意一個字符
[^abv] - 匹配任意一個不是a,b纬朝,c的字符
[^2-8] - 匹配任意一個不是2到8的字符
[^\u4e00-\u9fa5] - 匹配任意一個非中文的字符

3.檢查符

所有的檢測符號都不會影響字符串的長度
1)\b - 檢查是否是單詞邊界
單詞邊界 - 能夠?qū)蓚€單詞隔開并且不會產(chǎn)生歧義的任意符號:空白字符收叶,標點符號,字符串開頭和字符串結尾
匹配規(guī)則:先去掉\b對字符串進行匹配共苛,如果匹配成功再檢查\b所在的位置是否是單詞邊界

  1. ^ - 檢查^所在的位置是否是字符串開頭
    注意:這兒的^是[]外面的
    3)- 檢查所在的位置是否式字符串結尾

4. 控制次數(shù)的符號

1.* - 匹配0次或者多次
2.+ - 匹配1次或者多次
3.判没? - 匹配0次或1次
4.{}
1) {N} - 匹配N次
2) {M,N} - 匹配M到N次(至少M次,最多N)
3) {M隅茎,} - 匹配至少M次澄峰,123a{3}:123aaaa
4) {,N} - 最多N次

5.貪婪和非貪婪

在匹配次數(shù)不確定的時候,會出現(xiàn)貪婪和非貪婪兩種情況辟犀;默認情況都是貪婪俏竞。
什么是貪婪:在能夠匹配成功的前提下,匹配次數(shù)盡可能的多
什么是非貪婪:在能夠匹配成功的前提下堂竟,匹配次數(shù)盡可能少魂毁;(在匹配次數(shù)后面加?)

7.分支

  1. |
    正則1|正則2 - 先讓正則1去匹配跃捣,如果匹配成功就成功漱牵;匹配失敗再讓正則2去匹配
    (正則1和正則2中只要有一個能匹配成功就行)

8.分組

1 ( ) - 將括號里面的內(nèi)容作為一個整體
1) 整體操作
r'(\d\d|[A-Z]{2})abc' - 匹配一個字符串后面是abc,前面是兩個數(shù)字獲或者兩個大寫字母
r'([a-z]\d){3}' - a8n7j8
2)分組
a.分組截取:方便后面分段或者分情況去不同的匹配結果
b.分組重復:在正則中用\X來重復前面第X個分組匹配到的內(nèi)容
注意:\X的前面必須有這個分組

9.轉(zhuǎn)義符號

1.加
在正則中有特殊功能和特殊意義的符號前加\疚漆,讓這個符號的特殊功能和意義消失
2.加[]
在[]中有特殊意義的符號:a.^放在最開頭 b.-放在兩個字符之間
其他符號:. + ? * $,這個單獨的符號在[]中都表示這個符號本身

二酣胀,re模塊

re模塊是python提供的刁赦,專門針對正則表達式應用的相關函數(shù)

1.compile(正則表達式) -> 將正則表達式轉(zhuǎn)換成正則對象

2.字符串匹配

fullmatch(正則表達式,字符串) - 讓正則表達式和字符串完全匹配
match(正則表達式闻镶,字符串) - 匹配字符串開頭
以上兩個方法的結果:匹配失敗結果式None甚脉,匹配成功會返回匹配對象
1)匹配對象
a.獲取匹配到的字符串
匹配對象.group() - 獲取整個正則表達式匹配到的字符串,結果是字符串
匹配對象.group(N) - 獲取整個正則表達式中第N個分組匹配到的字符串
b.獲取匹配到的字符串在原字符串中的位置信息
匹配對象.span() - > 返回匹配結果在原字符串中的下邊范圍:[開始下標铆农,結束下標)
匹配對象.span(N - > 返回第N個分組匹配到的結果在原字符串中的范圍
c.獲取原字符串
匹配對象.string

3.查找

1)search(正則表達式牺氨,字符串) - 在字符串中查找第一個滿足正則表達式的字串,如果找到了結果是匹配對象墩剖,找不到結果是None
2)findall(正則表達式猴凹,字符串) - 獲取字符串中所有滿足正則表達式的字串;返回值是一個列表
注意:如果正則表達式中有分組岭皂,列表中的匹配結果只會去分組匹配到的內(nèi)容
3)finditer(正則表達式郊霎,字符串) - 獲取字符串中所有滿足正則表達式的子串;返回值是一個迭代器爷绘,元素是匹配對象

4.切割

split(正則表達式书劝,字符串) - 將字符串滿足正則表達式的子串作為切割點對字符串進行切割;返回一個字符串列表

5.替換

sub(正則表達式土至,字符串1购对,字符串2)- 將字符串2中所有滿足正則表達式的字串都替換成字符串1,返回新的字符串

?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末陶因,一起剝皮案震驚了整個濱河市骡苞,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌楷扬,老刑警劉巖烙如,帶你破解...
    沈念sama閱讀 206,214評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異毅否,居然都是意外死亡,警方通過查閱死者的電腦和手機蝇刀,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,307評論 2 382
  • 文/潘曉璐 我一進店門螟加,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人吞琐,你說我怎么就攤上這事捆探。” “怎么了站粟?”我有些...
    開封第一講書人閱讀 152,543評論 0 341
  • 文/不壞的土叔 我叫張陵黍图,是天一觀的道長。 經(jīng)常有香客問我奴烙,道長助被,這世上最難降的妖魔是什么剖张? 我笑而不...
    開封第一講書人閱讀 55,221評論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮揩环,結果婚禮上搔弄,老公的妹妹穿的比我還像新娘。我一直安慰自己丰滑,他們只是感情好顾犹,可當我...
    茶點故事閱讀 64,224評論 5 371
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著褒墨,像睡著了一般炫刷。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上郁妈,一...
    開封第一講書人閱讀 49,007評論 1 284
  • 那天浑玛,我揣著相機與錄音,去河邊找鬼圃庭。 笑死锄奢,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的剧腻。 我是一名探鬼主播拘央,決...
    沈念sama閱讀 38,313評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼书在!你這毒婦竟也來了灰伟?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 36,956評論 0 259
  • 序言:老撾萬榮一對情侶失蹤儒旬,失蹤者是張志新(化名)和其女友劉穎栏账,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體栈源,經(jīng)...
    沈念sama閱讀 43,441評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡挡爵,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,925評論 2 323
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了甚垦。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片茶鹃。...
    茶點故事閱讀 38,018評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖艰亮,靈堂內(nèi)的尸體忽然破棺而出闭翩,到底是詐尸還是另有隱情,我是刑警寧澤迄埃,帶...
    沈念sama閱讀 33,685評論 4 322
  • 正文 年R本政府宣布疗韵,位于F島的核電站,受9級特大地震影響侄非,放射性物質(zhì)發(fā)生泄漏蕉汪。R本人自食惡果不足惜流译,卻給世界環(huán)境...
    茶點故事閱讀 39,234評論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望肤无。 院中可真熱鬧先蒋,春花似錦、人聲如沸宛渐。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,240評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽窥翩。三九已至业岁,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間寇蚊,已是汗流浹背笔时。 一陣腳步聲響...
    開封第一講書人閱讀 31,464評論 1 261
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留仗岸,地道東北人允耿。 一個月前我還...
    沈念sama閱讀 45,467評論 2 352
  • 正文 我出身青樓,卻偏偏與公主長得像扒怖,于是被迫代替她去往敵國和親较锡。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 42,762評論 2 345

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

  • 01.正則基本符號 1.什么是正則表達式 正則表達式就是字符匹配的工具;是由正則符號和普通字符組成盗痒,來匹配不同規(guī)律...
    Gary134閱讀 526評論 0 0
  • 正則表達式 from re import fullmatch, search, findall 1.什么是正則表達...
    oct___越來越2閱讀 209評論 0 0
  • 1.什么是正則 正則表達式就是字符匹配的工具蚂蕴;是由正則符號和普通字符組成,來匹配不同規(guī)律的字符串 2.python...
    年華盡耗_c24e閱讀 162評論 0 0
  • 第一節(jié):用socket創(chuàng)建服務器和客戶端 1.創(chuàng)建套接字對象 2.綁定地址 3.監(jiān)聽 4.讓服務器一直運算 客戶端...
    覺醒_009f閱讀 149評論 0 0
  • 正則表達式 一俯邓、什么是正則表達式 正則表達式是處理字符串的工具骡楼,通過不同的正則符號來描述字符串的規(guī)則 二、正則符號...
    ______n___閱讀 238評論 0 0