Python正則表達式的運用

最近在MOOC上學習嵩天老師的《Python網(wǎng)絡爬蟲與信息提取》,非常好的一門課程噪服。相比互聯(lián)網(wǎng)上其他爬蟲教程庞钢,這門課的優(yōu)勢在于系統(tǒng)性瞳购。該課程用較短的時間介紹了入門爬蟲的知識點,并輔以實例練習玖绿,幫助學習者快速搭建起一個爬蟲的知識框架敛瓷。
此為正則表達式部分的課程筆記。
正則表達式(regular expression)斑匪,簡稱 regex呐籽,或 RE,是用來簡潔表達一組字符串的表達式秤标,是一種通用的字符串表達框架绝淡。正則表達式可用一行字符串來表達有限或無限個字符串的特征。在網(wǎng)絡爬蟲的過程中苍姜,可以在解析好的網(wǎng)頁文本中搜索滿足一定特征的字符串牢酵。
文中的部分圖片來自嵩天老師的課程課件截圖。

正則表達式的應用范圍很廣闊衙猪,不僅僅用在python中馍乙。因此學習正則表達式的重中之重在于學習正則表達式的常用操作符布近,學會自己按照需要編寫正則表達式語句。本文分為兩個部分丝格。第一個部分介紹正則表達式的基礎語法并輔以一些經(jīng)典實例撑瞧;第二部分介紹python中的RE庫,該庫可以編譯正則表達式語句显蝌,并實現(xiàn)文本查找匹配以及修改的功能预伺。

一、 正則表達式的語法

image.png

正則表達式語句就是由這些操作符組合而成的曼尊。上述操作符右側的實例酬诀,說明了該操作符的簡單用法。在實際應用中骆撇,需要結合實際場景瞒御,通過各種操作符的組合來編寫出正則表達式。以下是一些應用正則表達式的經(jīng)典案例神郊,理解這些案例肴裙,有助于你更好地理解正則表達式操作符的用法。

image.png

二涌乳、 RE庫的使用

RE庫是python中用來解析正則表達式的庫蜻懦。
調用方式:import re

小知識:raw string,是不包含對轉義符再次轉義的字符串爷怀。使用方式為在普通字符串前加個r阻肩,即可忽略字符串中出現(xiàn)的轉義字符。例如:fpath = r"c:\program"运授,在python中等價于fpath = "c:\\program"。用此方法使得字符串表達更簡潔乔煞。
image.png

re庫常見函數(shù)解析

re.search(pattern,string,flags=0)
re.match(pattern,string,flags=0)
re.findall(pattern,string,flags=0)
re.split(pattern,string,maxsplit=0,flags=0)
re.finditer(pattern,string,flags=0)
re.sub(pattern,repl, string,count=0,flags=0)
pattern: 正則表達式字符串
string: 待匹配字符串
flags: 正則表達式使用時的控制標記
maxsplit:最大分割次數(shù)限制吁朦,當達到最大分割次數(shù)后,后續(xù)的文本不再分割渡贾。
repl:匹配的字符串
count: 最大替換次數(shù)逗宜,達到此次數(shù)后不再替換。
image.png

RE庫的兩種用法

  • 用法一
rst=re.search(r'[1‐9]\d{5}', 'BIT 100081')
  • 用法二
 pat=re.compile(r'[1‐9]\d{5}')   #將正則表達式字符串編譯成正則表達式對象空骚,可重復使用
 rst=pat.search('BIT 100081')
image.png

以上是正則表達式對象的方法纺讲,與正則表達式庫函數(shù)的用法類似。

最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末囤屹,一起剝皮案震驚了整個濱河市熬甚,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌肋坚,老刑警劉巖乡括,帶你破解...
    沈念sama閱讀 222,807評論 6 518
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件肃廓,死亡現(xiàn)場離奇詭異,居然都是意外死亡诲泌,警方通過查閱死者的電腦和手機盲赊,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,284評論 3 399
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來敷扫,“玉大人哀蘑,你說我怎么就攤上這事】冢” “怎么了绘迁?”我有些...
    開封第一講書人閱讀 169,589評論 0 363
  • 文/不壞的土叔 我叫張陵,是天一觀的道長羹幸。 經(jīng)常有香客問我脊髓,道長,這世上最難降的妖魔是什么栅受? 我笑而不...
    開封第一講書人閱讀 60,188評論 1 300
  • 正文 為了忘掉前任将硝,我火速辦了婚禮,結果婚禮上屏镊,老公的妹妹穿的比我還像新娘依疼。我一直安慰自己,他們只是感情好而芥,可當我...
    茶點故事閱讀 69,185評論 6 398
  • 文/花漫 我一把揭開白布律罢。 她就那樣靜靜地躺著,像睡著了一般棍丐。 火紅的嫁衣襯著肌膚如雪误辑。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,785評論 1 314
  • 那天歌逢,我揣著相機與錄音巾钉,去河邊找鬼。 笑死秘案,一個胖子當著我的面吹牛砰苍,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播阱高,決...
    沈念sama閱讀 41,220評論 3 423
  • 文/蒼蘭香墨 我猛地睜開眼赚导,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了赤惊?” 一聲冷哼從身側響起吼旧,我...
    開封第一講書人閱讀 40,167評論 0 277
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎荐捻,沒想到半個月后黍少,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體寡夹,經(jīng)...
    沈念sama閱讀 46,698評論 1 320
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,767評論 3 343
  • 正文 我和宋清朗相戀三年厂置,在試婚紗的時候發(fā)現(xiàn)自己被綠了菩掏。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,912評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡昵济,死狀恐怖智绸,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情访忿,我是刑警寧澤瞧栗,帶...
    沈念sama閱讀 36,572評論 5 351
  • 正文 年R本政府宣布,位于F島的核電站海铆,受9級特大地震影響迹恐,放射性物質發(fā)生泄漏。R本人自食惡果不足惜卧斟,卻給世界環(huán)境...
    茶點故事閱讀 42,254評論 3 336
  • 文/蒙蒙 一殴边、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧珍语,春花似錦锤岸、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,746評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至募逞,卻和暖如春蛋铆,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背放接。 一陣腳步聲響...
    開封第一講書人閱讀 33,859評論 1 274
  • 我被黑心中介騙來泰國打工戒职, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人透乾。 一個月前我還...
    沈念sama閱讀 49,359評論 3 379
  • 正文 我出身青樓,卻偏偏與公主長得像磕秤,于是被迫代替她去往敵國和親乳乌。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 45,922評論 2 361