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

主頁 > 知識庫 > Python常用的正則表達式處理函數詳解

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

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

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

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

import re

正則表達式語法模式和操作符詳見:https://www.runoob.com/python/python-reg-expressions.html#flags

下面介紹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())

運行結果:

上述代碼中的(.*)和(.*?)表示正則表達式的貪婪匹配與非貪婪匹配,詳情見此:https://www.jb51.net/article/31491.htm

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)

運行結果:

參考資料:

https://www.runoob.com/python/python-reg-expressions.html#flags

到此這篇關于Python常用的正則表達式處理函數詳解的文章就介紹到這了,更多相關python 正則表達式處理函數內容請搜索腳本之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • 一文秒懂python正則表達式常用函數
  • Python編程快速上手——strip()函數的正則表達式實現方法分析
  • 關于Python正則表達式 findall函數問題詳解
  • python使用正則表達式的search()函數實現指定位置搜索功能
  • python正則表達式re之compile函數解析
  • Python正則表達式常用函數總結
  • Python中正則表達式match()、search()函數及match()和search()的區別詳解

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

巨人網絡通訊聲明:本文標題《Python常用的正則表達式處理函數詳解》,本文關鍵詞  Python,常用的,常,用的,正則,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Python常用的正則表達式處理函數詳解》相關的同類信息!
  • 本頁收集關于Python常用的正則表達式處理函數詳解的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    国精产品一区一区三区mba视频| 久久久国产一区二区三区四区小说| 在线观看日韩精品| 中文字幕第一页久久| 国产精品18久久久久久久久| 精品日韩av一区二区| 国产一区二区中文字幕| 国产精品视频看| 国产大片一区二区| 日韩美女视频19| 色哟哟欧美精品| 午夜精品久久久久久| 精品久久久久久久久久久院品网| 美女视频一区二区三区| 久久精品亚洲精品国产欧美| 不卡一区二区三区四区| 亚洲人成网站影音先锋播放| 欧美日韩亚洲综合一区| 国内外成人在线视频| 亚洲视频一二区| 91麻豆精品国产91久久久更新时间| 日韩成人午夜精品| 久久久精品中文字幕麻豆发布| 成人永久看片免费视频天堂| 一区二区三区免费网站| 欧美成人精品高清在线播放| 99精品热视频| 免费视频一区二区| 中文字幕精品三区| 884aa四虎影成人精品一区| 国产99久久久久| 石原莉奈在线亚洲二区| 国产欧美日韩综合精品一区二区| 欧美日韩在线免费视频| 成人黄页在线观看| 午夜精品福利一区二区三区蜜桃| 91麻豆精品国产自产在线观看一区| 国产精品一区在线| 一区二区不卡在线视频 午夜欧美不卡在| 欧美探花视频资源| 久久国产欧美日韩精品| 亚洲午夜久久久| 日韩午夜激情电影| 成人精品一区二区三区四区 | 99麻豆久久久国产精品免费优播| 亚洲视频在线一区| 久久精品水蜜桃av综合天堂| 欧美性受极品xxxx喷水| 国产精品资源网站| 亚洲va欧美va人人爽| 一区二区三区精密机械公司| 日韩女优av电影在线观看| 欧美日韩亚洲国产综合| 豆国产96在线|亚洲| 日韩av一二三| 偷拍自拍另类欧美| 亚洲日本在线a| 日韩免费在线观看| 欧美一级片在线观看| 91久久国产最好的精华液| 国产精品中文有码| 激情深爱一区二区| 另类中文字幕网| 日本视频免费一区| 亚洲成a人片综合在线| 最新日韩av在线| 国产精品丝袜久久久久久app| 欧美不卡在线视频| 日韩女同互慰一区二区| 日韩视频一区在线观看| 日韩欧美一二三区| 日韩欧美中文一区| www国产成人| 日韩免费电影网站| 精品国产电影一区二区| 欧美一区二区啪啪| 91精品国产91综合久久蜜臀| 日韩一级片网站| 91精品国产欧美一区二区18| 欧美性大战xxxxx久久久| 欧美私人免费视频| 欧美老肥妇做.爰bbww| 欧美日韩精品电影| 欧美日本国产视频| 欧美电视剧免费全集观看| 精品不卡在线视频| 亚洲视频一区二区在线观看| 亚洲三级免费观看| 亚洲高清在线精品| 毛片av一区二区| 国产乱人伦偷精品视频免下载 | 精品一区二区免费视频| 久久99国产精品尤物| 国产丶欧美丶日本不卡视频| 成人app软件下载大全免费| 在线观看视频一区| 日韩美一区二区三区| 久久综合色8888| 亚洲男人天堂av网| 日本免费新一区视频| 精品一区二区免费看| 不卡av在线网| 欧美三级视频在线| 久久亚洲捆绑美女| 亚洲男人的天堂在线aⅴ视频 | 精品写真视频在线观看| av电影在线观看一区| 欧美日韩精品福利| 中文字幕一区二区视频| 日韩精品一二区| 高清成人免费视频| 精品视频在线免费观看| 国产欧美精品一区二区色综合| 日韩毛片精品高清免费| 久久激情五月婷婷| 欧美影院精品一区| 欧美激情在线看| 日韩**一区毛片| 99久久精品国产网站| 在线91免费看| 中文字幕日韩一区二区| 久久精品国产免费| 欧美日韩精品一区二区三区蜜桃 | 日韩一区二区在线观看视频播放| 国产精品视频在线看| 精品综合免费视频观看| 欧美日韩高清在线播放| 日本一二三四高清不卡| 日韩一区二区三区免费看| 综合亚洲深深色噜噜狠狠网站| 久久精品久久精品| 欧美日韩不卡一区二区| 一区二区三区成人| 色婷婷久久久久swag精品| 久久精品一区二区三区不卡| 日韩激情在线观看| 欧美日韩国产影片| 一区二区三区在线不卡| 成人高清av在线| 综合色中文字幕| av中文字幕一区| 成人欧美一区二区三区| 成人视屏免费看| 日本一区二区成人| 欧洲色大大久久| 中文字幕一区二区三区精华液| 99视频精品全部免费在线| 国产精品灌醉下药二区| 成年人国产精品| 亚洲日本欧美天堂| 色综合婷婷久久| 亚洲图片另类小说| av爱爱亚洲一区| 亚洲小说欧美激情另类| 欧美日韩一区二区三区不卡| 午夜不卡在线视频| 91精品在线观看入口| 精品一区二区三区欧美| 国产午夜精品在线观看| 成人天堂资源www在线| 自拍偷拍亚洲欧美日韩| 日本精品视频一区二区| 青青草国产成人99久久| 久久久精品影视| 色综合网站在线| 免费不卡在线观看| 国产女人18毛片水真多成人如厕| 91久久精品日日躁夜夜躁欧美| 亚洲mv在线观看| 精品少妇一区二区三区在线播放| 国产麻豆精品视频| 一区二区三区在线免费视频| 欧美喷潮久久久xxxxx| 麻豆精品新av中文字幕| 欧美变态tickling挠脚心| 成人综合激情网| 亚洲va欧美va人人爽| 久久久久亚洲综合| 色哟哟一区二区| 蜜桃精品视频在线| 亚洲乱码国产乱码精品精可以看| 欧美性受极品xxxx喷水| 国产一区二区看久久| 亚洲成av人片在www色猫咪| 久久久美女艺术照精彩视频福利播放| 色8久久人人97超碰香蕉987| 国产最新精品精品你懂的| 亚洲视频在线一区| 日韩女同互慰一区二区| 色偷偷一区二区三区| 日韩**一区毛片| 亚洲精品国产一区二区精华液| 精品国产青草久久久久福利| 欧洲一区在线观看| 国产伦精品一区二区三区视频青涩 | 777xxx欧美| 91色porny蝌蚪| 国产成人免费网站| 美女视频黄a大片欧美| 亚洲国产成人porn|