re正则表达式常用方法
正則表達(dá)式實(shí)用語(yǔ)法--re
恢復(fù)
1、. 通配符:可以匹配任何字符,換行符'
'除外
# . 通配符,只代表一個(gè)元素,換行符除外
import re
res=re.findall('s.','songqingsis
') #1、至少兩個(gè)必填參數(shù)(正則表達(dá)式,處理的字符串)2、返回類(lèi)型:列表
print(res)
結(jié)果:
['so','si']
2、* 出現(xiàn)0次或多次
import re
res=re.findall('son*','songso')
print(res)
結(jié)果:
['son','so']
3、+ 出現(xiàn)1次或多次
import re
res=re.findall('son+','songso')
print(res)
結(jié)果:
['son']
4、? 匹配0個(gè)或1個(gè)有前面的正則表達(dá)式定義的片段,非貪婪方式,常用方式(.+?)或(.*?)
import re
res=re.findall('son(.+?)','songso')
print(res)
結(jié)果:
['g']
5、w 匹配所有字母、數(shù)字、下劃線,表示一個(gè)元素
import re
res=re.findall('w','songso@') #@不能被匹配到
print(res)
結(jié)果:
['s', 'o', 'n', 'g', 's', 'o']
import re
res=re.findall('w{3}','songso@1234%12') #{3}表示連續(xù)3位能被取到
print(res)
結(jié)果:
['son', 'gso', '123']
6 W 匹配所有的非(字母、數(shù)字、下劃線) 表示一個(gè)元素
import re
res=re.findall('W{3}','songso@$#@1234#12')
print(res)
結(jié)果:
['@$#']
7、d 匹配所有的數(shù)字 0-9
import re
res=re.findall('d{3}','songso@$#@1234#12')
print(res)
結(jié)果:
['123']
8、D 匹配任意非數(shù)字
9、^ 匹配字符串的開(kāi)頭
10、$ 匹配字符串的結(jié)尾
常用方法:
1、re.match(pattern,string,flags=0):從字符串的起始位位置匹配一個(gè)模式,如果不是起始位置匹配成功的話,match()就返回none
2、re.search(pattern,string,flags=0):掃描整個(gè)字符串并返回第一個(gè)成功的匹配
3、re.sub(pattern,repl,string,count=0):用于替換字符串中的匹配項(xiàng),repl:替換的字符串,也可是一個(gè)函數(shù)
4、re.compile(pattern[,flags]):用于編譯正則表達(dá)式,生成一個(gè)正則表達(dá)式(pattern)對(duì)象,供match()和search()等函數(shù)使用
import re
recom=re.compile('d{3}')
res=recom.findall('songso@$#@1234#12')
print(res)
結(jié)果:
['123']
5、re.findall(string[,pos[,endpos]]):在字符串中找到正則表達(dá)式所匹配的所有子串,并返回一個(gè)列表,如果沒(méi)有找到匹配的,則返回空列表
6、re.split(pattern,string[,maxsplit=0,flags=0]):能夠匹配的子串將字符串分割后返回列表
常用修飾符
re.I:使匹配對(duì)大小寫(xiě)不敏感
import re
res=re.findall('s.','songSo@1234',re.I)
print(res)
結(jié)果:
['so', 'So']
re.L :做本地化識(shí)別(local-aware)匹配
re.M :多行匹配,影響 ^ 和 $
re.S :使 . 匹配包括換行在內(nèi)的所有字符串
re.U:根據(jù)Unicode字符集解析字符。這個(gè)標(biāo)志影響w,W,,B
re.X:該標(biāo)志通過(guò)給予你更靈活的格式以便你將正則表達(dá)式寫(xiě)的更易于理解
取值可以使用按位或運(yùn)算符‘|’表示同時(shí)生效,比如re.I|re.M
總結(jié)
以上是生活随笔為你收集整理的re正则表达式常用方法的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: hbuilderx 小程序分包_基于un
- 下一篇: CentOS 7安装教程(图文详解)