欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

Python正則表達(dá)式有幾種函數(shù)

這篇文章主要為大家展示了“Python正則表達(dá)式有幾種函數(shù)”,內(nèi)容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“Python正則表達(dá)式有幾種函數(shù)”這篇文章吧。

成都創(chuàng)新互聯(lián)公司是一家集網(wǎng)站建設(shè),洞口企業(yè)網(wǎng)站建設(shè),洞口品牌網(wǎng)站建設(shè),網(wǎng)站定制,洞口網(wǎng)站建設(shè)報(bào)價(jià),網(wǎng)絡(luò)營銷,網(wǎng)絡(luò)優(yōu)化,洞口網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競爭力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時(shí)我們時(shí)刻保持專業(yè)、時(shí)尚、前沿,時(shí)刻以成就客戶成長自我,堅(jiān)持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。

Python正則表達(dá)式是簡介表達(dá)一組字符串的表達(dá)式,正則表達(dá)式可以方便的檢查一個(gè)字符串是否與某種模式匹配。有六種在正則表達(dá)式中的常見函數(shù),分別是re.match、re.search、re.findall、re.compile、re.split和re.sub。

re.match() tch函數(shù)從頭開始匹配,如果不是起始位置匹配成功的話,match函數(shù)的匹配結(jié)果就為none。

re.search() 整個(gè)字符串,并返回第一個(gè)成功的匹配

re.findall() 整個(gè)字符串,返回一個(gè)list(最常用的)

re.compile() #compile 函數(shù)用于編譯正則表達(dá)式,生成一個(gè)正則表達(dá)式( Pattern )對象

re.split() #將一個(gè)字符串按照正則表達(dá)式匹配的結(jié)果進(jìn)行分割,返回列表類型

re.sub() #在一個(gè)字符串中替換所有匹配正則表達(dá)式的子串,返回替換后的字符串

1、re.match函數(shù)

match函數(shù)從頭開始匹配,如果不是起始位置匹配成功的話,match函數(shù)的匹配結(jié)果就為none。匹配成功,re.match方法返回一個(gè)匹配的對象。

語法如下:re.match(pattern, string, flags=0)

pattern:需要匹配的正則表達(dá)式;

string:在那個(gè)字符串中就行匹配 ;

flags:標(biāo)志位(默認(rèn)為0),它可以控制正則表達(dá)式的匹配方式

常見的flags如下:

re.I 忽略匹配時(shí)的大小寫

re.M 多行匹配,影響 ^ 和 $

re.S . 默認(rèn)不匹配換行,使 . 匹配包括換行在內(nèi)的所有字符

re.U 根據(jù)Unicode字符集解析字符。這個(gè)標(biāo)志影響 \w, \W, \b, \B

示例如下:

我們可以看出,match函數(shù)匹配成功的話,re.match方法返回一個(gè)匹配的對象,而不是匹配的正則表達(dá)式;通過span()可以獲取匹配的位置。

>>> import re

>>> astr='11you are 3344 my apple\n 11開心果,you\n66a77'

>>> re.match('11',astr)

<_sre.SRE_Match object; span=(0, 2), match='11'>

>>> re.match('11',astr).span()

(0, 2)

>>> print(re.match('you',astr))

None

2、re.search函數(shù)

搜索整個(gè)字符串,并返回第一個(gè)成功的匹配。

語法如下:re.search(pattern, string, flags=0)

pattern:需要匹配的正則表達(dá)式;

string:在那個(gè)字符串中就行匹配 ;

flags:標(biāo)志位(默認(rèn)為0),它可以控制正則表達(dá)式的匹配方式

常見的flags如下:

re.I 忽略匹配時(shí)的大小寫

re.M 多行匹配,影響 ^ 和 $

re.S . 默認(rèn)不匹配換行,使 . 匹配包括換行在內(nèi)的所有字符

re.U 根據(jù)Unicode字符集解析字符。這個(gè)標(biāo)志影響 \w, \W, \b, \B

示例如下:

我們可以看出,search函數(shù)匹配成功的話,re.search方法返回一個(gè)匹配的對象,而不是匹配的正則表達(dá)式;通過span()可以獲取匹配的位置。如果沒有匹配到,則返回為None。

>>> import re

>>> astr='11you are 3344 my apple\n 11開心果,you\n66a77'

>>> re.search('11',astr)

<_sre.SRE_Match object; span=(0, 2), match='11'>

>>> re.search('you',astr)

<_sre.SRE_Match object; span=(2, 5), match='you'>

>>> re.search('you',astr).span() #通過span()獲取匹配的位置

(2, 5)

>>> re.search('11',astr).span()

(0, 2)

>>> print(re.search('22',astr))

None

3、re.findall函數(shù)

搜索整個(gè)字符串,返回一個(gè)list

語法如下:re.findall(string)

>>> import re

>>> astr='1you are 3344 my apple\n 11開心果,you\n66a77'

>>> re.findall('\d\d',astr) #列表形式顯示所有的兩個(gè)數(shù)字

['33', '44', '11', '66', '77']

>>> re.findall('\d{2,4}',astr) #列表形式顯示所有的2&mdash;&mdash;4個(gè)數(shù)字,默認(rèn)貪婪匹配

['3344', '11', '66', '77']

>>> re.findall('\d+',astr) #(1,無窮)

['1', '3344', '11', '66', '77']

>>> re.findall('\d*',astr) #(0,無窮)

['1', '', '', '', '', '', '', '', '', '3344', '', '', '', '', '', '', '', '', '', '', '', '11', '', '', '', '', '', '', '', '', '66', '', '77', '']

>>> re.findall('\d?',astr) #匹配0或1

['1', '', '', '', '', '', '', '', '', '3', '3', '4', '4', '', '', '', '', '', '', '', '', '', '', '', '1', '1', '', '', '', '', '', '', '', '', '6', '6', '', '7', '7', '']

>>> re.findall('\d{2,3}?',astr) #一個(gè)模式后跟?,不貪婪匹配,范圍后面?,有兩次就先取兩次

['33', '44', '11', '66', '77']

>>> re.findall('\d.\d',astr) #匹配兩個(gè)數(shù)字與中間任意字符

['334', '6a7']

>>> re.findall('^\d',astr) #以數(shù)字開頭

['1']

>>> re.findall('^\d',astr,re.M) #多行匹配

['1', '6']

>>> re.findall('\d$',astr) #以數(shù)字結(jié)尾

['7']

>>> re.findall('\d$',astr,re.M) #多行匹配,影響^和$

['7']

>>> re.findall('\d(.)(\d)',astr,re.S)#列表形式返回,每項(xiàng)為一個(gè)元組

[('3', '4'), ('a', '7')]

4、re.compile函數(shù)

compile 函數(shù)用于編譯正則表達(dá)式,生成一個(gè)正則表達(dá)式( Pattern )對象。

語法如下:re.compile(pattern,flags=0)

pattern:需要匹配的正則表達(dá)式;

flags:標(biāo)志位(默認(rèn)為0),它可以控制正則表達(dá)式的匹配方式

常見的flags如下:

re.I 忽略匹配時(shí)的大小寫

re.M 多行匹配,影響 ^ 和 $

re.S . 默認(rèn)不匹配換行,使 . 匹配包括換行在內(nèi)的所有字符

re.U 根據(jù)Unicode字符集解析字符。這個(gè)標(biāo)志影響 \w, \W, \b, \B

示例如下:

>>> import re

>>> astr='AS12as34er567q!"3456'

>>> m1=re.compile(r'\d\d') #編譯

>>> m1.search(astr).group() #匹配

'12'

>>> m1.findall(astr)

['12', '34', '56', '34', '56']

>>> m2=re.compile(r'a',re.I) #編譯

>>> m2.findall(astr) #匹配

['A', 'a']

5、re.split函數(shù)

將一個(gè)字符串按照正則表達(dá)式匹配的結(jié)果進(jìn)行分割,返回列表類型。

語法如下:re.split(pattern, string ,?maxsplit=0?,flags=0)

pattern:需要匹配的正則表達(dá)式;

string:在那個(gè)字符串中就行匹配 ;

maxsplit:分隔次數(shù),maxsplit=1 分隔一次,默認(rèn)為 0,不限制次數(shù)。

flags:標(biāo)志位(默認(rèn)為0),它可以控制正則表達(dá)式的匹配方式。

常見的flags如下:

re.I 忽略匹配時(shí)的大小寫

re.M 多行匹配,影響 ^ 和 $

re.S . 默認(rèn)不匹配換行,使 . 匹配包括換行在內(nèi)的所有字符

re.U 根據(jù)Unicode字符集解析字符。這個(gè)標(biāo)志影響 \w, \W, \b, \B

示例如下:

>>> import re

>>> astr='AS12as34er567q!"3456'

>>> astr.split('12') #通過12進(jìn)行分割

['AS', 'as34er567q!"3456']

>>> re.split("\d{2}",astr) #通過兩個(gè)數(shù)字進(jìn)行分割

['AS', 'as', 'er', '7q!"', '', '']

>>> re.split("\d+",astr) #通過數(shù)字進(jìn)行分割

['AS', 'as', 'er', 'q!"', '']

>>> m3=re.compile(r'\d+') #與上面等價(jià),運(yùn)用了compile函數(shù)

>>> m3.split(astr)

['AS', 'as', 'er', 'q!"', '']

>>> m3.split(astr,3) #指定分割幾次

['AS', 'as', 'er', 'q!"3456']

6、re.sub函數(shù)

在一個(gè)字符串中替換所有匹配正則表達(dá)式的子串,返回替換后的字符串。

語法如下:re.sub(pattern, repl, string, count=0,flags=0)

pattern:需要匹配的正則表達(dá)式;

repl : 替換的字符串,也可為一個(gè)函數(shù)。

string:在那個(gè)字符串中就行匹配 ;

count : 模式匹配后替換的最大次數(shù),默認(rèn) 0 表示替換所有的匹配。

flags:標(biāo)志位(默認(rèn)為0),它可以控制正則表達(dá)式的匹配方式

常見的flags如下:

re.I 忽略匹配時(shí)的大小寫

re.M 多行匹配,影響 ^ 和 $

re.S . 默認(rèn)不匹配換行,使 . 匹配包括換行在內(nèi)的所有字符

re.U 根據(jù)Unicode字符集解析字符。這個(gè)標(biāo)志影響 \w, \W, \b, \B

示例如下:

>>> import re

>>> astr='AS12as34er567q!"3456'

>>> re.sub("5",'9',astr) #將5替換為9

'AS12as34er967q!"3496'

>>> m4=re.compile(r"\d+")

>>> m4.sub(' ',astr) #將數(shù)字替換為空字符串

'AS as er q!" '

>>> m4.sub(' ',astr,2) #指定替換幾次

'AS as er567q!"3456'

以上是“Python正則表達(dá)式有幾種函數(shù)”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!

網(wǎng)頁名稱:Python正則表達(dá)式有幾種函數(shù)
URL標(biāo)題:http://aaarwkj.com/article8/gjjoip.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供、全網(wǎng)營銷推廣企業(yè)建站、營銷型網(wǎng)站建設(shè)微信小程序、網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)
精品日韩av一区二区三区| 日韩亚洲欧美不卡在线| 国产姐弟操大率悠荡笕| 精品国产18禁99久久久久久| 亚洲综合av一区二区| 国产欧美日韩精品一区| 丰满人妻在线一区二区三区| 日韩精品少妇一区二区在线看 | 在线观看视频免费午夜| 超碰香蕉在线在线观看| av免费观看男人的天堂| 人妻人人澡人人添人人爽桃色 | 欧美成人极品一区二区三区| 成年人免费在线观看国产| 亚洲激情欧美激情在线| 女人的天堂av免费在线观看| 尤物视频最新在线观看| 91欧美精品一区二区| 国产精品原创传媒在线观看| 日韩在线欧美在线一区二区| 亚洲精品一区国产精品av| 美国一级二级三级黄片| 日本人妻中文字幕在线一区| 欧美黄色一级在线免费观看 | 欧美黑人在线一区二区| 亚洲黄色av电影在线| 99久久久国产精品蜜臀| 国产精品成人一区二区三| 欧美一区二区三区成人网| 国产亚洲一线二线三线| 夜夜嗨精品免费视频播放| 久久精品亚洲欧美激情| 欧美丰满人妻少妇视频在线| 欧美十八一区二区三区| 国产精品美女丝袜久久久| 国产成人91精品免费看片| 亚洲精品成人综合色在线| 亚洲精品国产中文字幕| 夫妻性生活黄色录像视频| 日韩高清av一区二区三区| 五十路八十路息与子交尾|