我們在使用re模塊的時候,需要根據不同的使用需求選擇不同的功能進行匹配。考慮到大家都是python新手,在方法的學習上,小編推薦常用的方法作為主要的學習目標。本文帶來了兩個函數,re.sub 和 re.compile。以下兩部分分別說明。python re模塊常見使用方法具體內容如下。
1、re.sub
re.sub 用于替(ti)換字符(fu)串中(zhong)(zhong)的(de)匹配項。以下(xia)示例(li)將(jiang)字符(fu)串中(zhong)(zhong)的(de)空格 ' ' 替(ti)換為 '-' :
import re text = "JGood 是個帥哥,他很(hen)酷,很(hen)聰明,等等..." print re.sub(r'/s+', '-', text)
re.sub的(de)函(han)數原型(xing)為:re.sub(pattern, repl, string, count)
其(qi)中第二個(ge)函數是被替換的字符串;在這種情況下'-'
第四個參數是指替換的(de)次數。默認(ren)為 0,表示每個匹配(pei)項都會被(bei)替換。
re.sub 還允許使用函數復雜地處理替換(huan)(huan)匹配項。如:re.sub(r'/s', lambda m: '[' + m.group(0) + ']', text, 0); 替換(huan)(huan)字符串中的空格' '是'[]'。
2、重新編譯
正則(ze)(ze)表(biao)達式(shi)可以(yi)編譯成(cheng)正則(ze)(ze)表(biao)達式(shi)對(dui)象。那(nei)些經常使用的(de)正則(ze)(ze)表(biao)達式(shi)可以(yi)編譯成(cheng)正則(ze)(ze)表(biao)達式(shi)對(dui)象,可以(yi)提高一定的(de)效(xiao)率。下面(mian)是一個正則(ze)(ze)表(biao)達式(shi)對(dui)象的(de)例子:
import re text = "JGood 是個帥哥,他很酷,很聰明,等(deng)等(deng)..." regex = re.compile(r'/w*oo/w*') print regex.findall(text ) #查(cha)找所有包(bao)含(han)'oo'的(de)單詞(ci) print regex.sub(lambda m: '[' + m.group(0) + ']', text) #使(shi)用字符串(chuan)中包(bao)含(han)'oo'的(de)單詞(ci)[]括號內。
以上是python re模塊常見使用方法。當然,re模塊有很多方法。由于本文篇幅有限,這部分的使用將在后續文章中不斷更新。更多關于Python培訓的問題,歡迎咨詢千鋒教育,如果(guo)想要(yao)了解(jie)我們的(de)師(shi)資(zi)(zi)、課(ke)(ke)程(cheng)、項目(mu)實(shi)操(cao)的(de)話可(ke)以點擊咨詢課(ke)(ke)程(cheng)顧問(wen),獲(huo)取試(shi)(shi)聽資(zi)(zi)格(ge)來試(shi)(shi)聽我們的(de)課(ke)(ke)程(cheng),在(zai)線零(ling)距(ju)離接(jie)觸千鋒(feng)教(jiao)育大咖(ka)名(ming)師(shi),讓你(ni)輕松從入門到(dao)精通。