国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發(fā) > PHP > 正文

python使用正則表達式替換匹配成功的組

2024-05-04 21:50:42
字體:
供稿:網(wǎng)友

正則表達式簡介

正則表達式,又稱正規(guī)表示式、正規(guī)表示法、正規(guī)表達式、規(guī)則表達式、常規(guī)表示法(英語:Regular Expression,在代碼中常簡寫為regex、regexp或RE),計算機科學的一個概念。正則表達式使用單個字符串來描述、匹配一系列符合某個句法規(guī)則的字符串。在很多文本編輯器里,正則表達式通常被用來檢索、替換那些符合某個模式的文本。

許多程序設計語言都支持利用正則表達式進行字符串操作。例如,在Perl中就內(nèi)建了一個功能強大的正則表達式引擎。正則表達式這個概念最初是由Unix中的工具軟件(例如sed和grep)普及開的。正則表達式通常縮寫成“regex”,單數(shù)有regexp、regex,復數(shù)有regexps、regexes、regexen。

最初的正則表達式出現(xiàn)于理論計算機科學的自動控制理論和形式化語言理論中。在這些領域中有對計算(自動控制)的模型和對形式化語言描述與分類的研究。 1940年,Warren McCulloch與Walter Pitts將神經(jīng)系統(tǒng)中的神經(jīng)元描述成小而簡單的自動控制元。 1950年代,數(shù)學家斯蒂芬·科爾·克萊尼利用稱之為“正則集合”的數(shù)學符號來描述此模型。肯·湯普遜將此符號系統(tǒng)引入編輯器QED,然后是Unix上的編輯器ed,并最終引入grep。自此,正則表達式被廣泛地使用于各種Unix或者類似Unix的工具,例如Perl。

Python提供了對正則表達式的支持,它內(nèi)嵌在Python中,通過Python的re模塊提供。

re模塊提供了類似于Perl的正則表達式語法。

通過使用正則表達式,我們可以制定需要匹配的字符串的特定格式,然后從需要處理的字符串中提取我們感興趣的字符串。Python中的re模塊也提供了像sub(),subn(),split()這些方法來實現(xiàn)通過正則表達式來靈活地進行文本的替換和分割。

在Python中,正則表達式會被編譯成一系列的字節(jié)碼,然后由通過C編寫的正則表達式引擎進行執(zhí)行。好了,下面看下python使用正則表達式替換匹配成功的組,具體內(nèi)容如下所示:

在前面主要學習了怎么樣匹配成功,都沒有修改原來的內(nèi)容的。現(xiàn)在來學習一個匹配成功之后修改相應的內(nèi)容,在這里使用sub()函數(shù)來實現(xiàn)這個功能,同時使用引用組號來插入原來的字符,例子如下:

  1. #python 3.6 
  2. #蔡軍生  
  3. #http://blog.csdn.net/caimouse/article/details/51749579 
  4. # 
  5. import re 
  6. bold = re.compile(r'/*{2}(.*?)/*{2}'
  7. text = 'Make this **cai**. This **junsheng**.' 
  8. print('Text:', text) 
  9. print('Bold:', bold.sub(r'<b>/1</b>', text)) 

結(jié)果輸出如下:

  1. Text: Make this **cai**. This **junsheng**. 
  2. Bold: Make this <b>cai</b>. This <b>junsheng</b>. 

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 松原市| 同仁县| 正宁县| 茶陵县| 拜城县| 慈利县| 车险| 顺义区| 广德县| 雷山县| 墨江| 内黄县| 珲春市| 铜梁县| 外汇| 班玛县| 万山特区| 镇康县| 辽源市| 鞍山市| 黑水县| 武胜县| 云霄县| 威信县| 西宁市| 开化县| 松滋市| 颍上县| 来安县| 武强县| 宁津县| 沾益县| 旺苍县| 教育| 鄂尔多斯市| 康定县| 会同县| 伊宁市| 宁乡县| 明星| 高雄县|