python使用正則表達式替換匹配成功的組并輸出替換的次數(shù)
正則表達式是一個特殊的字符序列,它能幫助你方便的檢查一個字符串是否與某種模式匹配。
Python 自1.5版本起增加了re 模塊,它提供 Perl 風格的正則表達式模式。
re 模塊使 Python 語言擁有全部的正則表達式功能。
compile 函數(shù)根據(jù)一個模式字符串和可選的標志參數(shù)生成一個正則表達式對象。該對象擁有一系列方法用于正則表達式匹配和替換。
re 模塊也提供了與這些方法功能完全一致的函數(shù),這些函數(shù)使用一個模式字符串做為它們的第一個參數(shù)。
本章節(jié)主要介紹python使用正則表達式替換匹配成功的組并輸出替換的次數(shù)。
在前面我們學習過怎么樣限制替換的次數(shù),如果我們想知道正則表達式里匹配成功之后,替換字符串的次數(shù),那么需要怎么辦呢?這是一個好問題,這時就需要采用另一個外函數(shù)subn()了。這個函數(shù)不但輸出替換后的內容,還輸出替換的次數(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))
結果輸出如下:
Text: Make this **cai**. This **junsheng**.
Bold: ('Make this <b>cai</b>. This <b>junsheng</b>.', 2)
ps:關于正則表達式有幾個需要交代的
python的正則表達式如果捕獲需要分組則使用這個語法(?P<命名>匹配的正則表達式)
re.compile用于編譯正則表達式并返回對象
p.finditer返回所有匹配的迭代器
p.sub將匹配項傳入回調函數(shù),并且用返回值替換文本
m.groupdict,可以使用則的分組命名取相應的值
總結
以上所述是小編給大家介紹的python使用正則表達式替換匹配成功的組并輸出替換的次數(shù),希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
相關文章
在django中使用post方法時,需要增加csrftoken的例子
這篇文章主要介紹了在django中使用post方法時,需要增加csrftoken的例子,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-03-03
Python語言實現(xiàn)獲取主機名根據(jù)端口殺死進程
這篇文章主要介紹了Python語言實現(xiàn)獲取主機名根據(jù)端口殺死進程的相關資料,需要的朋友可以參考下2016-03-03
Django切換數(shù)據(jù)庫和遷移數(shù)據(jù)詳解
這篇文章主要介紹了Django切換數(shù)據(jù)庫和遷移數(shù)據(jù)詳解的相關資料,需要的朋友可以參考下2022-11-11
Python編程實現(xiàn)輸入某年某月某日計算出這一天是該年第幾天的方法
這篇文章主要介紹了Python編程實現(xiàn)輸入某年某月某日計算出這一天是該年第幾天的方法,涉及Python針對日期時間的轉換與運算相關操作技巧,需要的朋友可以參考下2017-04-04
詳解Pandas的三大利器(map,apply,applymap)
這篇文章主要為大家介紹了pandas中的三大利器: map、apply、applymap,他們經(jīng)常在進行數(shù)據(jù)處理的時候用到,需要的可以參考一下2022-02-02

