正則表達式是一個特殊的字符序列,它能幫助你方便的檢查一個字符串是否與某種模式匹配。
Python 自1.5版本起增加了re 模塊,它提供 Perl 風格的正則表達式模式。
re 模塊使 Python 語言擁有全部的正則表達式功能。
compile 函數根據一個模式字符串和可選的標志參數生成一個正則表達式對象。該對象擁有一系列方法用于正則表達式匹配和替換。
re 模塊也提供了與這些方法功能完全一致的函數,這些函數使用一個模式字符串做為它們的第一個參數。
本章節主要介紹python使用正則表達式替換匹配成功的組并輸出替換的次數。
在前面我們學習過怎么樣限制替換的次數,如果我們想知道正則表達式里匹配成功之后,替換字符串的次數,那么需要怎么辦呢?這是一個好問題,這時就需要采用另一個外函數subn()了。這個函數不但輸出替換后的內容,還輸出替換的次數,例子:
#python 3.6#蔡軍生 #http://blog.csdn.net/caimouse/article/details/51749579#import rebold = 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將匹配項傳入回調函數,并且用返回值替換文本
m.groupdict,可以使用則的分組命名取相應的值
總結
以上所述是小編給大家介紹的python使用正則表達式替換匹配成功的組并輸出替換的次數,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對武林站長站網站的支持!
新聞熱點
疑難解答