python使用正則表達(dá)式替換匹配成功的組并輸出替換的次數(shù)
正則表達(dá)式是一個(gè)特殊的字符序列,它能幫助你方便的檢查一個(gè)字符串是否與某種模式匹配。
Python 自1.5版本起增加了re 模塊,它提供 Perl 風(fēng)格的正則表達(dá)式模式。
re 模塊使 Python 語(yǔ)言擁有全部的正則表達(dá)式功能。
compile 函數(shù)根據(jù)一個(gè)模式字符串和可選的標(biāo)志參數(shù)生成一個(gè)正則表達(dá)式對(duì)象。該對(duì)象擁有一系列方法用于正則表達(dá)式匹配和替換。
re 模塊也提供了與這些方法功能完全一致的函數(shù),這些函數(shù)使用一個(gè)模式字符串做為它們的第一個(gè)參數(shù)。
本章節(jié)主要介紹python使用正則表達(dá)式替換匹配成功的組并輸出替換的次數(shù)。
在前面我們學(xué)習(xí)過(guò)怎么樣限制替換的次數(shù),如果我們想知道正則表達(dá)式里匹配成功之后,替換字符串的次數(shù),那么需要怎么辦呢?這是一個(gè)好問(wèn)題,這時(shí)就需要采用另一個(gè)外函數(shù)subn()了。這個(gè)函數(shù)不但輸出替換后的內(nèi)容,還輸出替換的次數(shù),例子:
#python 3.6
#蔡軍生
#http://blog.csdn.net/caimouse/article/details/51749579
#
import re
bold = re.compile(r'\*{2}(?P<bold_text>.*?)\*{2}')
text = 'Make this **cai**. This **junsheng**.'
print('Text:', text)
print('Bold:', bold.subn(r'<b>\g<bold_text></b>', text))
結(jié)果輸出如下:
Text: Make this **cai**. This **junsheng**.
Bold: ('Make this <b>cai</b>. This <b>junsheng</b>.', 2)
ps:關(guān)于正則表達(dá)式有幾個(gè)需要交代的
python的正則表達(dá)式如果捕獲需要分組則使用這個(gè)語(yǔ)法(?P<命名>匹配的正則表達(dá)式)
re.compile用于編譯正則表達(dá)式并返回對(duì)象
p.finditer返回所有匹配的迭代器
p.sub將匹配項(xiàng)傳入回調(diào)函數(shù),并且用返回值替換文本
m.groupdict,可以使用則的分組命名取相應(yīng)的值
總結(jié)
以上所述是小編給大家介紹的python使用正則表達(dá)式替換匹配成功的組并輸出替換的次數(shù),希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
相關(guān)文章
在django中使用post方法時(shí),需要增加csrftoken的例子
這篇文章主要介紹了在django中使用post方法時(shí),需要增加csrftoken的例子,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-03-03
通過(guò)Python實(shí)現(xiàn)猜燈謎游戲的示例代碼
新的一年迎來(lái)了元宵節(jié),元宵佳節(jié)在陪伴家人的同時(shí),自然也少不了賞花燈,猜燈謎的項(xiàng)目。本文會(huì)通過(guò)Python實(shí)現(xiàn)這一游戲,需要的可以參考一下2022-02-02
Python語(yǔ)言實(shí)現(xiàn)獲取主機(jī)名根據(jù)端口殺死進(jìn)程
這篇文章主要介紹了Python語(yǔ)言實(shí)現(xiàn)獲取主機(jī)名根據(jù)端口殺死進(jìn)程的相關(guān)資料,需要的朋友可以參考下2016-03-03
Django切換數(shù)據(jù)庫(kù)和遷移數(shù)據(jù)詳解
這篇文章主要介紹了Django切換數(shù)據(jù)庫(kù)和遷移數(shù)據(jù)詳解的相關(guān)資料,需要的朋友可以參考下2022-11-11
Python爬蟲(chóng)之Selenium庫(kù)的使用方法
這篇文章主要介紹了Python爬蟲(chóng)之Selenium庫(kù)的使用方法,幫助大家更好的理解和使用爬蟲(chóng),感興趣的朋友可以了解下2021-01-01
Pycharm遠(yuǎn)程連接服務(wù)器跑代碼的實(shí)現(xiàn)
本文主要介紹了Pycharm遠(yuǎn)程連接服務(wù)器跑代碼的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2022-07-07
Python編程實(shí)現(xiàn)輸入某年某月某日計(jì)算出這一天是該年第幾天的方法
這篇文章主要介紹了Python編程實(shí)現(xiàn)輸入某年某月某日計(jì)算出這一天是該年第幾天的方法,涉及Python針對(duì)日期時(shí)間的轉(zhuǎn)換與運(yùn)算相關(guān)操作技巧,需要的朋友可以參考下2017-04-04
詳解Pandas的三大利器(map,apply,applymap)
這篇文章主要為大家介紹了pandas中的三大利器: map、apply、applymap,他們經(jīng)常在進(jìn)行數(shù)據(jù)處理的時(shí)候用到,需要的可以參考一下2022-02-02

