69堂国产成人免费视频_亚洲成人999_最新日韩中文字幕_97在线视频免费_91久久国产精品_欧美美女一区二区_亚洲a级在线观看_亚洲最大成人免费视频_av中文字幕不卡_一本色道久久综合亚洲精品按摩

更多精彩內容,歡迎關注:

視頻號
視頻號

抖音
抖音

快手
快手

微博
微博

一文秒懂python正則表達式常用函數

導讀這篇文章主要介紹了python正則表達式常用函數及使用方法,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值。

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

01 Re概覽

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

字符查找/匹配

字符替換

字符分割

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

02 字符串查找/匹配

預編譯:compile

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

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

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

匹配:match

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

import?re
pattern?=?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?re
pattern?=?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?re
pattern?=?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?re
pattern?=?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?re
pattern?=?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?re
text?=?'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?re
text?=?'today?is?2020-03-05'
print(re.subn('-',?'',?text))?#('today?is?20200305',?2)

分割:split

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

import?re
text?=?'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可供選擇

到此這篇關于一文秒懂python正則表達式常用函數的文章就介紹到這了,希望大家以后多多支持好二三四!

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

為你推薦
資訊專欄
熱門視頻
相關推薦
python正則表達式語法學習筆記 Python 垃圾回收機制詳解 Python實現城市公交網絡分析與可視化 Python數據分析處理(三)--運動員信息的分組與聚合 基于Python實現PDF區域文本提取工具 詳解python的循環 python實現新年倒計時實例代碼 Python實現消消樂小游戲 學習python的while循環嵌套 提升Python運行速度的5個小技巧 Python按鍵或值對字典進行排序 圖像檢索之基于vlfeat實現SIFT特征 python繪圖中的四個繪圖技巧 js中toString方法3個作用 信息系統項目管理師報考條件 信息系統項目管理師報考時間 信息系統項目管理師報名時間 信息系統項目管理師考試時間 pmp與信息系統項目管理師 信息系統項目管理師報考要求 Python常用的正則表達式處理函數詳解 JS截取字符串的三種方法詳解 PHP遍歷數組的6種方式總結 php兩種基本的輸出方及實例詳解 php生成唯一uid的解決方法詳解 PHP7中對十六進制字符串處理的問題詳解 PHP對接抖音開發平臺接口的詳細教程 php7安裝mysqli實例講解 php去掉一維數組的鍵值的實例方法 PHP中empty()和isset()的區別介紹 PHP實現JWT的Token登錄認證 php判斷時間戳是否為今天實例講解 PHP7 preg_replace出錯及解決辦法 五年班的學習計劃怎么寫 五年級的學習計劃 初中新學期學習計劃怎么寫 關于英語的學習計劃怎么寫 怎么寫暑假學習計劃書 4年級數學學習計劃怎么寫 后半學期的學習計劃怎么寫 上學期學習計劃怎么寫
Top 69堂国产成人免费视频_亚洲成人999_最新日韩中文字幕_97在线视频免费_91久久国产精品_欧美美女一区二区_亚洲a级在线观看_亚洲最大成人免费视频_av中文字幕不卡_一本色道久久综合亚洲精品按摩
成人欧美一区二区三区1314| 91国偷自产一区二区三区成为亚洲经典| 一区二区三区精品| 成人午夜av在线| 欧美经典一区二区| 国产欧美日本一区二区三区| 国产一区二区免费看| 国产性色一区二区| 成人av综合在线| 亚洲精品免费在线| 4438x亚洲最大成人网| 久久精品久久99精品久久| 26uuu欧美| 91福利在线看| 久久精品国产在热久久| 久久婷婷色综合| 99精品欧美一区| 日产国产欧美视频一区精品| 久久久天堂av| 日本丰满少妇一区二区三区| 蜜桃精品在线观看| 中文字幕免费不卡| 欧美一级二级三级蜜桃| 成人黄色小视频| 亚洲一二三四久久| 国产肉丝袜一区二区| 欧美性猛片xxxx免费看久爱| 韩国精品久久久| 亚洲高清视频中文字幕| 欧美激情在线看| 日韩一区二区三区免费看 | 国产精品五月天| 欧美军同video69gay| 成人开心网精品视频| 蜜桃视频一区二区三区在线观看| 亚洲天堂成人网| 国产精品视频一二三| 欧美精品一区二区精品网| 色狠狠色狠狠综合| 成年人国产精品| 精品制服美女丁香| 一区二区三区在线影院| 亚洲色图视频网站| 国产精品无码永久免费888| 日韩免费一区二区| 欧美老年两性高潮| 欧美老女人第四色| 制服丝袜av成人在线看| 欧美三级乱人伦电影| 97se亚洲国产综合在线| 国产成人午夜精品影院观看视频 | 国产精品乱人伦| 欧美激情在线看| 久久久久99精品国产片| 欧美成人国产一区二区| 精品久久一二三区| 日韩欧美一区中文| 欧美va亚洲va| 久久久久久9999| 国产欧美精品一区aⅴ影院| 国产人妖乱国产精品人妖| 久久人人爽人人爽| 中文字幕精品三区| 一区二区免费在线| 日本视频在线一区| 国产在线精品国自产拍免费| 国产91精品一区二区麻豆亚洲| 粉嫩一区二区三区性色av| 成人自拍视频在线| 91黄色免费版| 欧美变态口味重另类| 久久综合一区二区| 亚洲欧美中日韩| 中文字幕视频一区二区三区久| 樱花草国产18久久久久| 日韩 欧美一区二区三区| 国产一区二区影院| 欧美性色黄大片| 国产日韩欧美精品一区| 亚洲一区二区免费视频| 狠狠色综合色综合网络| 91色婷婷久久久久合中文| 国产高清视频一区| 不卡av电影在线播放| 欧美日韩国产高清一区二区三区| 欧美精品一区二区三区高清aⅴ | 日韩一区二区免费在线电影| 亚洲欧洲另类国产综合| 日韩精品久久理论片| 成人h版在线观看| 欧美大度的电影原声| 亚洲一区二区四区蜜桃| 国产ts人妖一区二区| 在线播放视频一区| 一区二区三区欧美激情| 国产伦精品一区二区三区免费迷| 欧美日韩三级视频| 亚洲免费观看在线观看| 国产成人av资源| 亚洲精品在线网站| 麻豆精品新av中文字幕| 717成人午夜免费福利电影| 亚洲一区二区三区四区在线| 白白色 亚洲乱淫| 日韩免费电影网站| 日韩av中文字幕一区二区| 欧美制服丝袜第一页| 亚洲男人天堂av| 色哟哟在线观看一区二区三区| 国产片一区二区| 成人午夜电影久久影院| 国产精品电影一区二区三区| 99综合影院在线| 一区二区三区91| 欧美日韩国产一二三| 亚洲成人自拍偷拍| 欧美一区二区三区视频| 久久99精品国产91久久来源| 日韩美一区二区三区| 久久精品国产精品亚洲精品| 欧美xfplay| 国产成人午夜视频| 亚洲黄色片在线观看| 精品视频免费在线| 另类的小说在线视频另类成人小视频在线 | 精品少妇一区二区三区视频免付费 | 五月婷婷久久综合| 欧美不卡一二三| 成人午夜视频福利| 亚洲另类一区二区| 在线电影国产精品| 国产寡妇亲子伦一区二区| 一区在线中文字幕| 91麻豆精品91久久久久久清纯| 国产一区二区0| 亚洲一区二区三区视频在线播放| 日韩精品一区二区三区老鸭窝 | 亚洲一区二区精品视频| 欧美一级高清片在线观看| 国产精品99久久久久久久vr| 中文字幕一区二区三区四区不卡| 欧美性色黄大片手机版| 国产精品一区二区果冻传媒| 亚洲电影视频在线| 国产片一区二区| 日韩视频国产视频| 成人免费精品视频| 日韩成人一级大片| 国产精品美女久久久久aⅴ国产馆 国产精品美女久久久久av爽李琼 国产精品美女久久久久高潮 | 国产精品久久久久精k8| 欧美性大战久久| 国产成人av一区二区三区在线观看| 国产精品污网站| 日韩你懂的在线播放| 在线日韩av片| 成人av网站大全| 美女一区二区视频| 亚洲国产精品欧美一二99| 久久精品夜色噜噜亚洲a∨| 制服丝袜一区二区三区| 色婷婷综合激情| av在线不卡免费看| 国产麻豆一精品一av一免费| 捆绑调教一区二区三区| 日韩av中文在线观看| 亚洲专区一二三| 最新日韩av在线| 国产精品福利一区二区三区| 久久婷婷国产综合国色天香| 日韩视频永久免费| 欧美日韩精品是欧美日韩精品| 91精品国产综合久久国产大片| 91福利精品视频| 在线看国产日韩| 欧美日韩你懂得| 欧美日本在线一区| 欧美一区二区三区成人| 欧美一激情一区二区三区| 欧美精品xxxxbbbb| 欧美一级片在线看| 欧美r级电影在线观看| 26uuu另类欧美| 中文字幕巨乱亚洲| 一区二区三区四区激情| 亚洲成人一区在线| 蜜桃视频在线一区| 成人精品一区二区三区中文字幕| 成人动漫在线一区| 欧美少妇性性性| 日韩欧美在线不卡| 日本丶国产丶欧美色综合| 日韩色在线观看| 欧美伊人久久久久久午夜久久久久| 国产精品蜜臀在线观看| 日韩欧美123| 在线视频欧美精品| 欧美喷潮久久久xxxxx| 欧美大片拔萝卜| 有码一区二区三区| 欧美日韩国产首页|