Python基礎教程 | 還不會Python正則表達式?看這篇文章試試

Python基礎教程 | 還不會Python正則表達式?看這篇文章試試

今天寫爬蟲偶然想到了初學正則表達式時候,看過一篇文章非常不錯。檢索一下還真的找到了。

re模塊
 

 

Python基礎教程 | 還不會Python正則表達式?看這篇文章試試

re.search
 

經常用match = re.search(pat, str)的形式。因為有可能匹配不到,所以re.search()后面一般用if statement。

Python基礎教程 | 還不會Python正則表達式?看這篇文章試試

re.match
 

re.match和re.search很相似,只是re.match是從字符串的開頭開始匹配。

Python基礎教程 | 還不會Python正則表達式?看這篇文章試試

常用正則字符意義
 

 

  • a, X, 9,等字符匹配自己, 元字符不匹配自己,因為有特殊意義,比如 . ^ $ * + ? { }[ ] \ | ( )

  • . 英文句號,匹配任意字符,不包含'\n'

  • \w 匹配'word'字符,[a-zA-Z0-9]

  • \W 匹配非'word'字符

  • \b 匹配'word'和'non-word'之間邊界

  • \s 匹配單個whitespace字符,space, newline, return, tab, form [\n\r\t\f]

  • \S 匹配non-whitespace字符

  • \t, \n, \r 匹配tab, newline, return

  • \d 匹配數字[0-9]

  • ^ 匹配字符串開頭

  • $ 匹配字符串結尾

重復
 

‘+’ 一或多次, ‘*’ 零或多次, ‘?’ 零或一次

方括號[]
 

 

Python基礎教程 | 還不會Python正則表達式?看這篇文章試試

[]類似于or

Square brackets can be used to indicate a set of chars, so [abc] matches 'a' or 'b' or 'c'.

Python基礎教程 | 還不會Python正則表達式?看這篇文章試試

Group Extraction圓括號()
 

有時候需要提取匹配字符的一部分,比如剛才的郵箱,我們可能需要其中的username和hostname,這時候可以用()分別把username和hostname包起來,就像r'([\w.-]+)@([\w.-]+)',如果匹配成功,那么pattern不改變,只是可以用match.group(1)和match.group(2)來username和hostname,match.group()結果不變。

Python基礎教程 | 還不會Python正則表達式?看這篇文章試試

findall and groups
 

()和findall()結合,如果包括一或多個group,就返回a list of tuples。

Python基礎教程 | 還不會Python正則表達式?看這篇文章試試

給re.search加^之后是一樣的。

re.sub

re.sub(pat, replacement, str)在str里尋找和pattern匹配的字符串,然后用replacement替換。replacement可以包含\1或者\2來代替相應的group,然后實現局部替換。

Python基礎教程 | 還不會Python正則表達式?看這篇文章試試

 

作者:米樂果果

來源:http://www.jianshu.com/p/922e9e56b017


 

————開班喜訊————

溫馨提醒:馬哥教育Python自動化開發班將于8月28日在北京海淀上地開班,小班制魔鬼式授課,鉅惠限時搶位中。

馬哥教育2017年Python自動化運維開發實戰班,馬哥聯合BAT、豆瓣等一線互聯網Python開發達人,根據目前企業需求的Python開發人才進行了深度定制,加入了大量一線互聯網公司:大眾點評、餓了么、騰訊等生產環境真是項目,課程由淺入深,從Python基礎到Python高級,讓你融匯貫通Python基礎理論,手把手教學讓你具備Python自動化開發需要的前端界面開發、Web框架、大監控系統、CMDB系統、認證堡壘機、自動化流程平臺六大實戰能力,讓你從0開始蛻變成Hold住年薪20萬的Python自動化開發人才

Python基礎教程 | 還不會Python正則表達式?看這篇文章試試Python基礎教程 | 還不會Python正則表達式?看這篇文章試試課程咨詢請長按即可咨詢Python基礎教程 | 還不會Python正則表達式?看這篇文章試試Python基礎教程 | 還不會Python正則表達式?看這篇文章試試

Python基礎教程 | 還不會Python正則表達式?看這篇文章試試

相關新聞

聯系我們

400-080-6560

在線咨詢:點擊這里給我發消息

郵件:[email protected]

工作時間:周一至周日,09:00-18:30

QR code
云南快乐10分开奖直播