麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > regex > 正文

python 正則表達(dá)式 re.sub & re.subn

2020-01-20 22:00:44
字體:
供稿:網(wǎng)友

python正則表達(dá)式模塊簡介

Python 自1.5版本起增加了re 模塊,它提供 Perl 風(fēng)格的正則表達(dá)式模式。Python 1.5之前版本則是通過 regex 模塊提供 Emacs 風(fēng)格的模式。Emacs 風(fēng)格模式可讀性稍差些,而且功能也不強(qiáng),因此編寫新代碼時(shí)盡量不要再使用 regex 模塊,當(dāng)然偶爾你還是可能在老代碼里發(fā)現(xiàn)其蹤影。

就其本質(zhì)而言,正則表達(dá)式(或 RE)是一種小型的、高度專業(yè)化的編程語言,(在Python中)它內(nèi)嵌在Python中,并通過 re 模塊實(shí)現(xiàn)。使用這個(gè)小型語言,你可以為想要匹配的相應(yīng)字符串集指定規(guī)則;該字符串集可能包含英文語句、e-mail地址、TeX命令或任何你想搞定的東西。然后你可以問諸如“這個(gè)字符串匹配該模式嗎?”或“在這個(gè)字符串中是否有部分匹配該模式呢?”。你也可以使用 RE 以各種方式來修改或分割字符串。

正則表達(dá)式模式被編譯成一系列的字節(jié)碼,然后由用 C 編寫的匹配引擎執(zhí)行。在高級用法中,也許還要仔細(xì)留意引擎是如何執(zhí)行給定 RE ,如何以特定方式編寫 RE 以令生產(chǎn)的字節(jié)碼運(yùn)行速度更快。本文并不涉及優(yōu)化,因?yàn)槟且竽阋殉浞终莆樟似ヅ湟娴膬?nèi)部機(jī)制。

正則表達(dá)式語言相對小型和受限(功能有限),因此并非所有字符串處理都能用正則表達(dá)式完成。當(dāng)然也有些任務(wù)可以用正則表達(dá)式完成,不過最終表達(dá)式會變得異常復(fù)雜。碰到這些情形時(shí),編寫 Python 代碼進(jìn)行處理可能反而更好;盡管 Python 代碼比一個(gè)精巧的正則表達(dá)式要慢些,但它更易理解。

正則表達(dá)式一個(gè)比較常見的用途是找到所有模式匹配的字符串并用不同的字符串來替換它們。sub方法提供一個(gè)替換值,可以是字符串或函數(shù),和一個(gè)要被處理的字符串。

Grammar:

re.sub(pattern, repl, string[, count])

使用repl替換string中每一個(gè)匹配的子串后返回替換后的字符串。

當(dāng)repl是一個(gè)字符串時(shí),可以使用/id或/g、/g引用分組,但不能使用編號0。

當(dāng)repl是一個(gè)方法時(shí),這個(gè)方法應(yīng)當(dāng)只接受一個(gè)參數(shù)(Match對象),并返回一個(gè)字符串用于替換(返回的字符串中不能再引用分組)。

count用于指定最多替換次數(shù),不指定時(shí)全部替換。

re.subn(pattern, repl, string[, count])

返回 (sub(repl, string[, count]), 替換次數(shù))。

Case:

#coding=utf-8import restr = "https://i.cnb1logs.co2m/Edi3tPosts.asp4x?opt=999"pattern=re.compile(r'(/.)')print '/.     :' ,re.sub(pattern,'-',str)pattern=re.compile(r'//([^*]+)//')print '//([^*]+)// :' ,re.sub(pattern,r'<em>/1<em>',str)pattern = re.compile(r'(/w+)(/w+)(/d+)')#先切片測試print re.split(pattern,str)print re.sub(pattern,r'/3 /1',str)#subn統(tǒng)計(jì)sub替換次數(shù)print re.subn(pattern,r'/3 /1',str)

Output

/.     : https://i-cnb1logs-co2m/Edi3tPosts-asp4x?opt=999//([^*]+)// : https:<em>/i.cnb1logs.co2m<em>Edi3tPosts.asp4x?opt=999['https://i.', 'cn', 'b', '1', 'logs.', 'c', 'o', '2', 'm/', 'Ed', 'i', '3', 'tPosts.', 'as', 'p', '4', 'x?opt=', '9', '9', '9', '']https://i.1 cnlogs.2 cm/3 EdtPosts.4 asx?opt=9 9('https://i.1 cnlogs.2 cm/3 EdtPosts.4 asx?opt=9 9', 5)***Repl Closed***

總結(jié)

發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 久久久三区 | 日本不卡一区二区三区在线观看 | 竹内纱里奈和大战黑人 | 国产精品久久久久久久久久了 | 视频一区二区三区在线播放 | 国产精品毛片无码 | 亚洲网站一区 | 成人午夜在线免费观看 | 97超视频在线观看 | 久久综合久久美利坚合众国 | wwwxxx国产| 精国产品一区二区三区四季综 | 国产精品自在线拍 | 爱爱视频天天干 | 依人九九宗合九九九 | 久久网国产精品 | 午夜视频啊啊啊 | 精品国产一区二区三区四 | 久久久婷婷一区二区三区不卡 | 双性精h调教灌尿打屁股的文案 | av成人免费看 | 欧美日韩亚洲成人 | 欧美日韩国产成人在线 | 91成人在线免费视频 | 国产一级免费电影 | 久久av喷吹av高潮av懂色 | 国产精品啪一品二区三区粉嫩 | 成人毛片在线免费看 | 他也色在线视频 | 欧美一级黄色影院 | 午夜国产福利 | www中文在线 | 免费观看黄色一级视频 | 色999久久久精品人人澡69 | 欧美精品久久久久久久久老牛影院 | 成人不卡 | 久久影院午夜 | 日日噜噜噜夜夜狠狠久久蜜桃 | 欧美一级高潮片免费的 | 麻豆视频在线免费观看 | 成人毛片av在线 |