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