婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > python 正則表達式 re.sub & re.subn

python 正則表達式 re.sub & re.subn

熱門標簽:貴港公司如何申請400電話 呼叫系統外呼只能兩次 400電話辦理電話辦理 甘肅醫療外呼系統排名 西藏智能外呼系統代理商 外呼系統無呼出路由是什么原因 ai電話機器人搭建 梅縣地圖標注 地圖標注教學點

python正則表達式模塊簡介

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

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

正則表達式模式被編譯成一系列的字節碼,然后由用 C 編寫的匹配引擎執行。在高級用法中,也許還要仔細留意引擎是如何執行給定 RE ,如何以特定方式編寫 RE 以令生產的字節碼運行速度更快。本文并不涉及優化,因為那要求你已充分掌握了匹配引擎的內部機制。

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

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

Grammar:

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

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

當repl是一個字符串時,可以使用\id或\g、\g引用分組,但不能使用編號0。

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

count用于指定最多替換次數,不指定時全部替換。

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

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

Case:

#coding=utf-8
import re
str = "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>\1em>',str)
pattern = re.compile(r'(\w+)(\w+)(\d+)')
#先切片測試
print re.split(pattern,str)
print re.sub(pattern,r'\3 \1',str)
#subn統計sub替換次數
print re.subn(pattern,r'\3 \1',str)

Output

\.     : https://i-cnb1logs-co2m/Edi3tPosts-asp4x?opt=999
\/([^*]+)\/ : https:em>/i.cnb1logs.co2mem>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***

總結

您可能感興趣的文章:
  • Python正則替換字符串函數re.sub用法示例
  • python使用正則表達式替換匹配成功的組
  • Python基于正則表達式實現文件內容替換的方法
  • python re.sub()替換正則的匹配內容方法

標簽:哈密 海口 泰安 常州 湖州 涼山 本溪 大興安嶺

巨人網絡通訊聲明:本文標題《python 正則表達式 re.sub & re.subn》,本文關鍵詞  python,正則,表達式,re.sub,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《python 正則表達式 re.sub & re.subn》相關的同類信息!
  • 本頁收集關于python 正則表達式 re.sub & re.subn的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 广安市| 无为县| 德保县| 鹤庆县| 繁峙县| 延吉市| 金秀| 云安县| 大安市| 梁山县| 峨眉山市| 衡水市| 甘德县| 洛隆县| 韶关市| 平安县| 迁西县| 启东市| 建水县| 永定县| 措美县| 昌吉市| 邹平县| 余江县| 滨海县| 清远市| 光山县| 门头沟区| 达孜县| 台中市| 元氏县| 鄄城县| 新兴县| 泽普县| 天祝| 淳化县| 岐山县| 卫辉市| 岑溪市| 分宜县| 全椒县|