日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python 正则替换_5分钟速览Python正则表达式常用函数!五分钟就掌握它!

發布時間:2025/3/11 python 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python 正则替换_5分钟速览Python正则表达式常用函数!五分钟就掌握它! 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

導讀:正則表達式是處理字符串類型的"核武器",不僅速度快,而且功能強大。本文不過多展開正則表達式相關語法,僅簡要介紹python中正則表達式常用函數及其使用方法,以作快速查詢瀏覽。

01 Re概覽

Re模塊是python的內置模塊,提供了正則表達式在python中的所有用法,默認安裝位置在python根目錄下的Lib文件夾(如 ..PythonPython37Lib)。主要提供了3大類字符串操作方法:

  • 字符查找/匹配
  • 字符替換
  • 字符分割

由于是面向字符串類型的模塊,就不得不提到字符串編碼類型。re模塊中,模式串和搜索串既可以是 Unicode 字符串(常用str類型),也可以是8位字節串 (bytes,2位16進制數字,例如xe5), 但要求二者必須是同類型字符串。

02 字符串查找/匹配

  • 預編譯:compile

在介紹查找和匹配函數前,首先需要知道re的compile函數,該函數可以將一個模式串編譯成正則表達式類型,以便后續快速匹配和復用

import?repattern?=?re.compile(r'[a-z]{2,5}')type(pattern)?#re.Pattern

此例創建了一個正則表達式式對象(re.pattern),命名為pattern,用于匹配2-5位小寫字母的模式串。后續在使用其他正則表達式函數時,即可使用pattern進行方法調用。

  • 匹配:match

match函數用于從文本串的起始位置開始匹配,若匹配成功,則返回相應的匹配對象,此時可調用group()方法返回匹配結果,也可用span()方法返回匹配起止下標區間;否則返回None

import?repattern?=?re.compile(r'[a-z]{2,5}')text1?=?'this?is?a?re?test'res?=?pattern.match(text1)print(res)?#if?res:????print(res.group())?#this????print(res.span())?#(0,?4)text2?=?'是的,?this?is?a?re?test'print(pattern.match(text2))#None

match函數還有一個變形函數fullmatch,當且僅當模式串與文本串剛好全部匹配時,返回一個匹配對象,否則返回None

  • 搜索:search

match只提供了從文本串起始位置匹配的結果,如果想從任意位置匹配,則可調用search方法,與match方法類似,當任意位置匹配成功,則立即返回一個匹配對象,也可調用span()方法獲取起止區間、調用group方法獲得匹配文本串

import?repattern?=?re.compile(r's[a-z]{2}')text1?=?'this?is?a?re?test'res?=?pattern.search(text1)print(res)?#if?res:????print(res.group())?#is????print(res.span())?#(4,?7)pattern2?=?re.compile(r's[a-z]{5}')text2?=?'是的,this?is?a?re?test'print(pattern2.search(text2))#None

match和search均用于匹配單個結果,唯一區別在于前者是從起始位置開始匹配,而后者從任意位置匹配,匹配成功則返回一個match對象。

  • 全搜索:findall/finditer

幾乎是最常用的正則表達式函數,用于尋找所有匹配的結果,例如在爬蟲信息提取中,可非常方便地提取所有匹配字段

import?repattern?=?re.compile(r's[a-z]{2,5}')text1?=?'this?is?a?re?test'res?=?pattern.findall(text1)print(res)?#['?is',?'?re',?'?test']

findall返回的是一個列表對象類型,當無匹配對象時,返回一個空列表。為了避免因同時返回大量匹配結果占用過多內存,可以調用finditer函數返回一個迭代器類型,其中每個迭代元素是一個match對象,可繼續調用group和span方法獲取相應結果

import?repattern?=?re.compile(r's[a-z]{2,5}')text1?=?'this?is?a?re?test'res?=?pattern.finditer(text1)for?r?in?res:????print(r.group())"""?is?re?test"""

當匹配模式串較為簡單或者僅需單詞調用時,上述所有方法也可直接調用re類函數,而無需事先編譯。此時各方法的第一個參數為模式串。

import?repattern?=?re.compile(r'd{2,5}')text?=?'this?is?re?test're.findall('[a-z]+',?text) #['this', 'is', 're', 'test']

03 字符串替換/分割

  • 替換:sub/subn

當需要對文本串進行條件替換時,可調用re.sub實現(當然也可先編譯后再用調用實例方法),相應參數分別為模式串、替換格式、文本串,還可以通過增加缺省參數限定替換次數和匹配模式。通過在模式串進行分組,可實現字符串的格式化替換(類似字符串的format方法),以實現特定任務。

import?retext?=?'today?is?2020-03-05'print(re.sub('-',?'',?text))?#'today?is?20200305'print(re.sub('-',?'',?text,?1))?#'today?is?202003-05'print(re.sub('(d{4})-(d{2})-(d{2})',?r'2/3/1',?text))?#'today?is?03/05/2020'

re.sub的一個變形方法是re.subn,區別是返回一個2元素的元組,其中第一個元素為替換結果,第二個為替換次數

import?retext?=?'today?is?2020-03-05'print(re.subn('-',?'',?text))?#('today?is?20200305',?2)
  • 分割:split

還可以調用正則表達式實現字符串的特定分割,相當于.split()方法的一個加強版,實現特定模式的分割,返回一個切割后的結果列表

import?retext?=?'today?is?a?re?test,?what?do?you?mind?'print(re.split(',',?text))?#['today?is?a?re?test',?'?what?do?you?mind?']

04 總結

  • python中的re模塊提供了正則表達式的常用方法,每種方法都包括類方法調用(如re.match)或模式串的實例調用(pattern.match)2種形式
  • 常用的匹配函數:match/fullmatch
  • 常用的搜索函數:search/findall/finditer
  • 常用的替換函數:sub/subn
  • 常用的切割函數:split
  • 還有其他很多方法,但不是很常用,具體可參考官方文檔
  • 另外,python還有第三方正則表達式庫regex可供選擇

源碼獲取私信小編01哦

總結

以上是生活随笔為你收集整理的python 正则替换_5分钟速览Python正则表达式常用函数!五分钟就掌握它!的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 蜜桃视频在线观看一区 | 国产精品国语自产拍在线观看 | 欧美日韩久久久久 | 欧美日韩aa| 日本一区二区三区视频在线观看 | 美女视频网址 | 人妖videosex高潮另类 | 亚洲天堂五月 | 国产欧美日韩 | 中文字幕 欧美激情 | 自拍偷拍日韩精品 | 国产成人在线观看网站 | 光明影院手机版在线观看免费 | 最新亚洲精品 | 欧亚乱熟女一区二区在线 | 欧美高清视频一区二区三区 | 国产精品无码一区二区三区三 | 欧美日韩在线免费观看 | 蜜桃视频在线网站 | 日韩一二三区视频 | 香蕉网av | 京香julia在线观看 | 曰本丰满熟妇xxxx性 | 720url在线观看免费版 | 亚洲国产tv | 麻豆传媒在线观看 | 色综合中文综合网 | 毛片高清 | 性色浪潮av| 日本黄a三级三级三级 | 欧美日本日韩 | 成年人在线视频免费观看 | 日本午夜小视频 | www亚洲国产| 在线视频观看 | 亚洲特黄一级片 | 日本成人不卡 | 精品国产一区二区三区久久久久久 | 国产孕妇一区二区三区 | 中国免费一级片 | 理论片久久 | 国产亚洲欧美视频 | 欧美视频a | 国产精品无码粉嫩小泬 | 亚洲h在线观看 | 欧美少妇喷水 | 97香蕉久久夜色精品国产 | 国产永久免费视频 | 亚洲国产欧美精品 | 国产美女精品在线 | 我和单位漂亮少妇激情 | 97干干干| 日韩美女视频在线 | 午夜在线一区二区三区 | 亚洲精品国产成人av在线 | 免费黄色的网站 | 人人射| 特级淫片裸体免费看 | 国产一级自拍 | 一级淫片a | 亚洲无毛| 黄床大片| 无码少妇精品一区二区免费动态 | 久久久久久国产精品三区 | 色乱码一区二区三区熟女 | 久久久久久久人妻无码中文字幕爆 | 久久中文免费视频 | 日韩激情毛片 | 一级黄色网 | 色诱久久av| 蕾丝视频污 | 国产第一亚洲 | 污视频在线网站 | 日韩激情视频网站 | 国产美女视频一区二区 | 五月天男人天堂 | 日本一级做a爱片 | 亚洲品质自拍 | a级免费观看 | 91一区二区在线观看 | 国产精品久久久久久久久久免费看 | 久久免费网| 亚洲国产精选 | 日韩精品在线观看网站 | 久青草免费视频 | 国产一区二区视频在线 | 色综合天天综合综合国产 | 顶级嫩模啪啪呻吟不断好爽 | 少妇激情视频 | 日日躁夜夜躁白天躁晚上躁91 | 精品久久一区 | 亚洲中文字幕97久久精品少妇 | 村上里沙番号 | 69国产精品 | 欧美亚洲国产成人 | 少妇一夜三次一区二区 | 国产一区二区三区影院 | 激情综合网激情 | 在线中文字幕亚洲 |