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