史上最全 Python Re 模块讲解(一)
生活随笔
收集整理的這篇文章主要介紹了
史上最全 Python Re 模块讲解(一)
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
re模塊下的函數(shù)
compile(pattern):創(chuàng)建模式對(duì)象
import repat=re.compile( A )m=pat.search( CBA ) #等價(jià)于 re.search( A , CBA )print m<_sre.SRE_Match object at 0x9d690c8> #匹配到了,返回MatchObject(True)m=pat.search( CBD )print mnonesearch(pattern,string):在字符串中尋找模式
m = re.search( asd , ASDasd )print m<_sre.SRE_Match object at 0xb72cd6e8> #匹配到了,返回MatchObject(True)m = re.search( asd , ASDASD )print mNone #沒有匹配到,返回None(False)match(pattern,string):在字符串開始處匹配模式
m = re.search( asd , ASDasd ) print m <_sre.SRE_Match object at 0xb72cd6e8> #匹配到了,返回MatchObject(True)m = re.search( asd , ASDASD ) print m None #沒有匹配到,返回None(False)# 等價(jià)于 pat=re.compile( a ) print pat.match( Aasd ) Noneprintpat.match( aASD ) <_sre.SRE_Match object at 0xb72cd6e8># 上面的函數(shù)返回都可以在if條件語(yǔ)句中進(jìn)行判斷:if pat.search( asd ):print OKOK #找到返回 if re.search( a , ASD ):print "OK"#沒有找到split(pattern,string):根據(jù)模式分割字符串,返回列表
re.split( , , a,s,d,asd ) [ a , s , d , asd ] #返回列表pat = re.compile( , ) pat.split( a,s,d,asd ) [ a , s , d , asd ] #返回列表re.split( [, ]+ , a , s ,d ,,,,,asd ) #正則匹配:[, ]+,后面說明 [ a , s , d , asd ]re.split( [, ]+ , a , s ,d ,,,,,asd ,maxsplit=2) # maxsplit 最多分割次數(shù) [ a , s , d ,,,,,asd ]pat = re.compile( [, ]+ ) #正則匹配:[, ]+,后面說明 pat.split( a , s ,d ,,,,,asd ,maxsplit=2) # maxsplit 最多分割次數(shù) [ a , s , d ,,,,,asd ]findall(pattern,string):列表形式返回匹配項(xiàng)
re.findall( a , ASDaDFGAa ) [ a , a ] #列表形式返回匹配到的字符串pat = re.compile( a ) pat.findall( ASDaDFGAa ) [ a , a ] #列表形式返回匹配到的字符串pat = re.compile( [A-Z]+ ) #正則匹配:[A-Z]+ 后面有說明 pat.findall( ASDcDFGAa ) [ ASD , DFGA ] #找到匹配到的字符串pat = re.compile( [A-Z] ) pat.findall( ASDcDFGAa ) #正則匹配:[A-Z]+ 后面有說明 [ A , S , D , D , F , G , A ] #找到匹配到的字符串pat = re.compile( [A-Za-z] ) #正則匹配:[A-Za-z]+ 匹配所有單詞,后面有說明 pat.findall( ASDcDFGAa ) [ A , S , D , c , D , F , G , A , a ]sub(pat,repl,string) :用repl替換 pat匹配項(xiàng)
(留的是中間的,因?yàn)橹虚g在中心)
escape(string) :對(duì)字符串里面的特殊字符串進(jìn)行轉(zhuǎn)義
re.escape( www.dxy.cn ) www\.dxy\.cn #轉(zhuǎn)義上面的函數(shù)中,只有match、search有g(shù)roup方法,其他的函數(shù)沒有。
函數(shù)的方法
group:獲取子模式(組)的匹配項(xiàng)
--------------------------------------------------------------- 注:我這有個(gè)學(xué)習(xí)Python基地,里面有很多學(xué)習(xí)資料,感興趣的+Q群:895817687 ---------------------------------------------------------------pat = re.compile(r www.(.*).(.*) ) #用()表示1個(gè)組,2個(gè)組 m = pat.match( www.dxy.com ) m.group() #默認(rèn)為0,表示匹配整個(gè)字符串 www.dxy.comm.group(1) #返回給定組1匹配的子字符串 dxym.group(2) comstart:給定組匹配項(xiàng)的開始位置
m.start(2) #組2開始的索引 8 ```python **<font color='green'>end:給定組匹配項(xiàng)的結(jié)束位置**m.end(2) #組2結(jié)束的索引
11
m.span(2) #組2開始、結(jié)束的索引
(8, 11)
總結(jié)
以上是生活随笔為你收集整理的史上最全 Python Re 模块讲解(一)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java之IO流(一)
- 下一篇: 史上最全 Python Re 模块讲解(