国产精品亚洲AV三区_国产精品日本一区二区在线播放_国产成人无码久久久精品一_性感美女视频在线观看免费精品

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

視頻號
視頻號

抖音
抖音

快手
快手

微博
微博

Python常用的正則表達式處理函數詳解

導讀這篇文章主要介紹了Python常用的正則表達式處理函數,正則表達式是一個特殊的字符序列,用于簡潔表達一組字符串特征,檢查一個字符串是否與某種模式匹配,使用起來十分方便。本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值。

正則表達式是一個特殊的字符序列,用于簡潔表達一組字符串特征,檢查一個字符串是否與某種模式匹配,使用起來十分方便。

在Python中,我們通過調用re庫來使用re模塊:

import re

下面介紹Python常用的正則表達式處理函數。

re.match函數

re.match 函數從字符串的起始位置匹配正則表達式,返回match對象,如果不是起始位置匹配成功的話,match()就返回None。

re.match(pattern, string, flags=0)

pattern:匹配的正則表達式。

string:待匹配的字符串。

flags:標志位,用于控制正則表達式的匹配方式,如:是否區分大小寫,多行匹配等等。具體參數為:

re.I:忽略大小寫。

re.L:表示特殊字符集 \w, \W, \b, \B, \s, \S 依賴于當前環境。

re.M:多行模式。

re.S:即 . ,并且包括換行符在內的任意字符(. 不包括換行符)。

re.U:表示特殊字符集 \w, \W, \b, \B, \d, \D, \s, \S 依賴于 Unicode 字符屬性數據庫。

re.X:為了增加可讀性,忽略空格和 # 后面的注釋。

import?re
#從起始位置匹配
r1=re.match('abc','abcdefghi')
print(r1)
#不從起始位置匹配
r2=re.match('def','abcdefghi')
print(r2)

運行結果:

其中,span表示匹配成功的整個子串的索引。

使用group(num) 或 groups() 匹配對象函數來獲取匹配表達式。

group(num):匹配的整個表達式的字符串,group() 可以一次輸入多個組號,這時它將返回一個包含那些組所對應值的元組。

groups():返回一個包含所有小組字符串的元組,從 1 到 所含的小組號。

import?re

s='This?is?a?demo'
r1=re.match(r'(.*)?is?(.*)',s)
r2=re.match(r'(.*)?is?(.*?)',s)

print(r1.group())
print(r1.group(1))
print(r1.group(2))
print(r1.groups())
print()
print(r2.group())
print(r2.group(1))
print(r2.group(2))
print(r2.groups())

運行結果:

上述代碼中的(.*)和(.*?)表示正則表達式的貪婪匹配與非貪婪匹配。

re.search函數

re.search函數掃描整個字符串并返回第一個成功的匹配,如果匹配成功則返回match對象,否則返回None。

re.search(pattern, string, flags=0)

pattern:匹配的正則表達式。

string:待匹配的字符串。

flags:標志位,用于控制正則表達式的匹配方式,如:是否區分大小寫,多行匹配等等。

import?re
#從起始位置匹配
r1=re.search('abc','abcdefghi')
print(r1)
#不從起始位置匹配
r2=re.search('def','abcdefghi')
print(r2)

運行結果:

使用group(num) 或 groups() 匹配對象函數來獲取匹配表達式。

group(num=0):匹配的整個表達式的字符串,group() 可以一次輸入多個組號,這時它將返回一個包含那些組所對應值的元組。

groups():返回一個包含所有小組字符串的元組,從 1 到 所含的小組號。

import?re

s='This?is?a?demo'
r1=re.search(r'(.*)?is?(.*)',s)
r2=re.search(r'(.*)?is?(.*?)',s)

print(r1.group())
print(r1.group(1))
print(r1.group(2))
print(r1.groups())
print()
print(r2.group())
print(r2.group(1))
print(r2.group(2))
print(r2.groups())

運行結果:

從上面不難發現re.match與re.search的區別:re.match只匹配字符串的起始位置,只要起始位置不符合正則表達式就匹配失敗,而re.search是匹配整個字符串,直到找到一個匹配為止。

re.compile 函數

compile 函數用于編譯正則表達式,生成一個正則表達式對象,供 match() 和 search() 這兩個函數使用。

re.compile(pattern[, flags])

pattern:一個字符串形式的正則表達式。

flags:可選,表示匹配模式,比如忽略大小寫,多行模式等。

import?re
#匹配數字
r=re.compile(r'\d+')?
r1=r.match('This?is?a?demo')
r2=r.match('This?is?111?and?That?is?222',0,27)
r3=r.match('This?is?111?and?That?is?222',8,27)
?
print(r1)
print(r2)
print(r3)

運行結果:

findall函數

搜索字符串,以列表形式返回正則表達式匹配的所有子串,如果沒有找到匹配的,則返回空列表。

需要注意的是,match 和 search 是匹配一次,而findall 匹配所有。

findall(string[, pos[, endpos]])

string:待匹配的字符串。

pos:可選參數,指定字符串的起始位置,默認為0。

endpos:可選參數,指定字符串的結束位置,默認為字符串的長度。

import?re
#匹配數字
r=re.compile(r'\d+')?
r1=r.findall('This?is?a?demo')
r2=r.findall('This?is?111?and?That?is?222',0,11)
r3=r.findall('This?is?111?and?That?is?222',0,27)
?
print(r1)
print(r2)
print(r3)

運行結果:

re.finditer函數

和 findall 類似,在字符串中找到正則表達式所匹配的所有子串,并把它們作為一個迭代器返回。

re.finditer(pattern, string, flags=0)

pattern:匹配的正則表達式。

string:待匹配的字符串。

flags:標志位,用于控制正則表達式的匹配方式,如是否區分大小寫,多行匹配等。

import?re?

r=re.finditer(r'\d+','This?is?111?and?That?is?222')
for?i?in?r:?
?print?(i.group())

運行結果:

re.split函數

將一個字符串按照正則表達式匹配的子串進行分割后,以列表形式返回。

re.split(pattern, string[, maxsplit=0, flags=0])

pattern:匹配的正則表達式。

string:待匹配的字符串。

maxsplit:分割次數,maxsplit=1分割一次,默認為0,不限次數。

flags:標志位,用于控制正則表達式的匹配方式,如:是否區分大小寫,多行匹配等。

import?re?

r1=re.split('\W+','This?is?111?and?That?is?222')?
r2=re.split('\W+','This?is?111?and?That?is?222',maxsplit=1)?
r3=re.split('\d+','This?is?111?and?That?is?222')?
r4=re.split('\d+','This?is?111?and?That?is?222',maxsplit=1)?
print(r1)
print(r2)
print(r3)
print(r4)

運行結果:

re.sub函數

re.sub函數用于替換字符串中的匹配項。

re.sub(pattern, repl, string, count=0, flags=0)

pattern:正則中的模式字符串。

repl:替換的字符串,也可為一個函數。

string:要被查找替換的原始字符串。

count:模式匹配后替換的最大次數,默認0表示替換所有的匹配。

import?re?

r='This?is?111?and?That?is?222'
#?刪除字符串中的數字
r1=re.sub(r'\d+','',r)
print(r1)
#?刪除非數字的字符串?
r2=re.sub(r'\D','',r)
print(r2)

運行結果:

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

為你推薦
資訊專欄
熱門視頻
相關推薦
一文秒懂python正則表達式常用函數 python正則表達式語法學習筆記 Python 垃圾回收機制詳解 Python實現城市公交網絡分析與可視化 Python數據分析處理(三)--運動員信息的分組與聚合 基于Python實現PDF區域文本提取工具 詳解python的循環 python實現新年倒計時實例代碼 Python實現消消樂小游戲 學習python的while循環嵌套 提升Python運行速度的5個小技巧 Python按鍵或值對字典進行排序 圖像檢索之基于vlfeat實現SIFT特征 python繪圖中的四個繪圖技巧 js中toString方法3個作用 信息系統項目管理師報考條件 信息系統項目管理師報考時間 信息系統項目管理師報名時間 信息系統項目管理師考試時間 pmp與信息系統項目管理師 JS截取字符串的三種方法詳解 PHP遍歷數組的6種方式總結 php兩種基本的輸出方及實例詳解 php生成唯一uid的解決方法詳解 PHP7中對十六進制字符串處理的問題詳解 PHP對接抖音開發平臺接口的詳細教程 php7安裝mysqli實例講解 php去掉一維數組的鍵值的實例方法 PHP中empty()和isset()的區別介紹 PHP實現JWT的Token登錄認證 php判斷時間戳是否為今天實例講解 PHP7 preg_replace出錯及解決辦法 五年班的學習計劃怎么寫 五年級的學習計劃 初中新學期學習計劃怎么寫 關于英語的學習計劃怎么寫 怎么寫暑假學習計劃書 4年級數學學習計劃怎么寫 后半學期的學習計劃怎么寫 上學期學習計劃怎么寫 五年級的學習計劃書怎么寫
Top 国产精品亚洲AV三区_国产精品日本一区二区在线播放_国产成人无码久久久精品一_性感美女视频在线观看免费精品
<strike id="cakm0"></strike>
  • <button id="cakm0"><dl id="cakm0"></dl></button>
  • <samp id="cakm0"><tbody id="cakm0"></tbody></samp>
    <samp id="cakm0"><pre id="cakm0"></pre></samp><ul id="cakm0"></ul>
    <strike id="cakm0"></strike>
    <li id="cakm0"></li>
  • <ul id="cakm0"></ul>
  • 欧美性做爰猛烈叫床潮| 亚洲欧美激情四射在线日| 欧美日韩美女在线| 久久av在线| 亚洲视频网站在线观看| 亚洲国产综合在线看不卡| 国产一区二区三区黄视频| 国产精品视区| 国产精品jvid在线观看蜜臀 | 亚洲国产精品一区| 国产欧美一区二区三区久久人妖| 欧美日韩精品国产| 欧美岛国在线观看| 欧美极品在线观看| 欧美精品久久久久久久久久| 欧美aa在线视频| 欧美成人午夜激情| 欧美插天视频在线播放| 麻豆精品在线视频| 男同欧美伦乱| 欧美丰满高潮xxxx喷水动漫| 欧美成在线观看| 欧美bbbxxxxx| 欧美区高清在线| 欧美日韩精品免费观看视频完整| 欧美激情乱人伦| 欧美日韩一区二区视频在线| 欧美日韩综合一区| 国产精品久久久久秋霞鲁丝| 国产农村妇女毛片精品久久麻豆| 国产精品一区二区三区乱码| 国产视频不卡| 精品白丝av| 亚洲精品少妇| 亚洲一区二区三区免费在线观看 | 亚洲精品婷婷| 亚洲三级色网| 一区二区日韩欧美| 欧美一区二区精品久久911| 久久久不卡网国产精品一区| 欧美福利电影在线观看| 欧美日韩在线播放一区| 国产日韩欧美在线播放不卡| 一区二区亚洲欧洲国产日韩| 亚洲巨乳在线| 久久国产欧美日韩精品| 欧美高清在线| 国产精品天美传媒入口| 在线看成人片| 亚洲婷婷免费| 麻豆精品传媒视频| 国产精品久久久久久av福利软件 | 国产免费观看久久| 亚洲第一精品影视| 夜夜嗨av一区二区三区网站四季av| 亚洲午夜精品久久久久久app| 欧美一区二区三区免费视频| 欧美国产丝袜视频| 国产视频一区三区| 日韩视频永久免费| 久久亚洲私人国产精品va媚药| 欧美日韩成人综合| 黄色国产精品| 午夜欧美精品久久久久久久| 欧美成人精品一区二区| 国产一区二区三区在线观看免费视频 | 久久精品99| 欧美三区免费完整视频在线观看| 国产亚洲欧美日韩美女| 一区二区日韩伦理片| 欧美xxx成人| 国产原创一区二区| 亚洲午夜av在线| 欧美激情一二三区| 亚洲大胆美女视频| 久久精品导航| 国产精品一页| 亚洲欧美日韩电影| 欧美性开放视频| 最新中文字幕亚洲| 欧美a级一区| 亚洲第一精品久久忘忧草社区| 欧美一区二区三区在线视频 | 99在线|亚洲一区二区| 久热精品视频在线| 极品中文字幕一区| 久久精品视频亚洲| 黑人一区二区| 久久综合电影| 亚洲黄色尤物视频| 欧美va天堂在线| 亚洲日韩欧美视频| 欧美日本免费| 在线一区二区日韩| 国产精品高清网站| 亚洲欧美国产视频| 国产精品日韩在线播放| 亚洲欧美日韩国产成人精品影院| 欧美体内she精视频在线观看| 日韩一级精品| 国产精品丝袜白浆摸在线| 亚洲一区二区三区午夜| 国产欧美日韩一区| 久久九九免费视频| **网站欧美大片在线观看| 美女成人午夜| 一区二区三区四区蜜桃| 国产精品三上| 老司机免费视频一区二区三区| 尤物精品在线| 欧美精品一区二区三区蜜桃| 亚洲调教视频在线观看| 国产亚洲观看| 欧美风情在线观看| 亚洲在线成人精品| 国产亚洲精品自拍| 欧美成人一区二免费视频软件| 夜夜夜久久久| 好看的亚洲午夜视频在线| 麻豆av一区二区三区久久| av成人免费在线| 国产亚洲一区二区在线观看| 免费成人高清视频| 亚洲欧美在线视频观看| 精品不卡视频| 国产精品极品美女粉嫩高清在线| 久久99伊人| 一道本一区二区| 韩国三级在线一区| 欧美性猛交xxxx免费看久久久| 欧美在线播放一区| 一本久久a久久免费精品不卡| 国产精品亚洲综合天堂夜夜| 欧美jizz19hd性欧美| 亚洲欧美成人| 日韩一区二区高清| 亚洲第一色中文字幕| 国产精品亚洲激情| 欧美日韩人人澡狠狠躁视频| 久久影院午夜片一区| 午夜日韩av| 亚洲网站在线播放| 亚洲美女免费精品视频在线观看| 国产深夜精品福利| 国产精品久久久久久久久久ktv| 美女精品在线观看| 欧美伊人精品成人久久综合97| 99精品国产一区二区青青牛奶 | 欧美亚洲一区二区在线观看| 亚洲精品在线视频| 激情视频一区二区三区| 国产乱码精品1区2区3区| 国产精品久久97| 欧美日韩国产小视频| 免费国产一区二区| 久久躁日日躁aaaaxxxx| 久久精品国产亚洲精品| 欧美一级理论性理论a| 午夜精品区一区二区三| 亚洲一区二区视频在线| 亚洲色在线视频| 一区二区三区国产| 亚洲午夜视频在线观看| 亚洲一区二区免费在线| 亚洲午夜羞羞片| 亚洲综合电影| 欧美一区二区在线免费播放| 午夜精品视频在线| 欧美中文字幕在线观看| 欧美有码在线观看视频| 久久精品国产亚洲aⅴ| 久久精品国产亚洲高清剧情介绍| 欧美亚洲日本一区| 久久久精品欧美丰满| 麻豆av一区二区三区| 免费欧美电影| 欧美日韩精品一区二区在线播放 | 欧美色另类天堂2015| 国产精品成人v| 国产精品美女久久久免费| 国产精品午夜久久| 国产亚洲精品久久久| 悠悠资源网亚洲青| 亚洲精品日韩精品| 亚洲一区中文字幕在线观看| 欧美在线你懂的| 老牛影视一区二区三区| 欧美啪啪一区| 国产欧美一区二区在线观看| 红杏aⅴ成人免费视频| 亚洲毛片视频| 欧美一二三区在线观看| 久久综合九色综合欧美狠狠| 欧美精品一区二区三区在线看午夜| 欧美三级小说| 激情视频亚洲| 亚洲欧美国产精品桃花| 免费一级欧美片在线观看| 国产精品成人一区二区三区吃奶| 国产亚洲精品综合一区91|